Programmation SQL/Langage de contrôle de données
Le LCD consiste à gérer les permissions et annulations des transactions, selon certains utilisateurs, certaines requêtes ou la reprise sur panne.
GRANT
[modifier | modifier le wikicode]La commande GRANT permet d'attribuer un ou plusieurs privilèges à un utilisateur ou un rôle sur des instructions (CREATE DATABASE, CREATE TABLE, CREATE VIEW, etc.) ou divers objets tels que des tables, des vues, des colonnes ou encore des procédures stockées.
CREATE USER 'NomDelUtilisateur'@'localhost' IDENTIFIED BY '***';
GRANT SELECT ,
INSERT ,
UPDATE ;
Exemple MySQL :
GRANT ALL PRIVILEGES ON `Base1`.* TO 'NomDelUtilisateur'@'localhost' WITH GRANT OPTION;
DENY
[modifier | modifier le wikicode]Empêche certains utilisateurs d'effectuer une certaine opération.
DENY ALL
ON Base1.*
TO 'NomDelUtilisateur'@'localhost';
NB : cette commande existe en Transact-SQL[1] mais pas en MySQL.
REVOKE
[modifier | modifier le wikicode]La commande REVOKE permet de révoquer des privilèges qui ont été attribués à un utilisateur ou à un rôle sur des instructions ou divers objets tels que des tables, des vues, des colonnes ou encore des procédures stockées.
REVOKE ALL PRIVILEGES ON `Base1`.* FROM 'NomDelUtilisateur'@'localhost';
UPDATE
[modifier | modifier le wikicode]Autorise un utilisateur à mettre à jour des enregistrements.
READ
[modifier | modifier le wikicode]Empêche un utilisateur de modifier la base de données, il peut juste lire les données.
DELETE
[modifier | modifier le wikicode]Autorise un utilisateur à effacer des enregistrements.
COMMIT
[modifier | modifier le wikicode]Valide une transaction en cours dans la base.
ROLLBACK
[modifier | modifier le wikicode]Annule une transaction en cours.