Commandes SQL : DQL, DDL, DML, DCL et TCL avec exemples
โก Rรฉsumรฉ intelligent
Les commandes SQL sont regroupรฉes en cinq sous-langages qui gรจrent une base de donnรฉes relationnelle. Le langage DDL dรฉfinit la structure, le langage DML modifie les donnรฉes, le langage DCL contrรดle l'accรจs, le langage TCL gรจre les transactions et le langage DQL extrait les donnรฉes, chacun avec son propre ensemble d'instructions et sa propre syntaxe.

Qu'est-ce que SQL?
SQL est un langage de base de donnรฉes conรงu pour la rรฉcupรฉration et la gestion de donnรฉes dans une base de donnรฉes relationnelle.
SQL est le langage standard pour la gestion de bases de donnรฉes. Tous les systรจmes SGBDR comme MySQL, MS Access, OracleSybase, PostgreSQL et SQL Server utilisent SQL comme langage de base de donnรฉes standard. Le langage de programmation SQL utilise diverses commandes pour diffรฉrentes opรฉrations. Nous allons รฉtudier les commandes DCL, TCL, DQL, DDL et DML en SQL ร l'aide d'exemples.
Pourquoi utiliser SQL ?
Voici des raisons importantes d'utiliser SQL :
- Il aide les utilisateurs ร accรฉder aux donnรฉes dans le Systรจme SGBDR.
- Cela vous aide ร dรฉcrire les donnรฉes.
- Il vous permet de dรฉfinir les donnรฉes dans une base de donnรฉes et de manipuler ces donnรฉes spรฉcifiques.
- Grรขce aux commandes SQL, vous pouvez crรฉer et supprimer des bases de donnรฉes et des tables.
- SQL vous permet d'utiliser des fonctions dans une base de donnรฉes, et de crรฉer des vues et des procรฉdures stockรฉes.
- Vous pouvez dรฉfinir des autorisations sur les tables, les procรฉdures et les vues.
Bref historique de SQL
Voici quelques points de repรจre importants de la histoire de SQL:
- 1970 โ Le Dr Edgar F. ยซ Ted ยป Codd dรฉcrit un modรจle relationnel pour les bases de donnรฉes.
- 1974 โ Apparition du langage de requรชte structurรฉ (Structured Query Language), initialement nommรฉ SEQUEL. IBM.
- 1979 - Oracle a lancรฉ la premiรจre base de donnรฉes SQL disponible dans le commerce, basรฉe sur IBMPrototype de recherche du systรจme R de .
- 1986 โ LโANSI a publiรฉ la premiรจre norme SQL, SQL-86.
- 1989 โ SQL-89 est apparu comme la premiรจre rรฉvision de la norme.
- 1992 โ SQL-92 (SQL2) est devenu la norme de base majeure encore utilisรฉe aujourd'hui par la plupart des bases de donnรฉes.
- 1999 โ SQL:1999 (SQL3) est lancรฉ avec des fonctionnalitรฉs telles que les dรฉclencheurs, les requรชtes rรฉcursives et l'orientation objet.
- 2003 โ SQL:2003 a ajoutรฉ des fonctions de fenรชtre, des gรฉnรฉrateurs de sรฉquences et des fonctionnalitรฉs liรฉes ร XML.
- 2006 โ SQL :2006 a ajoutรฉ la prise en charge du langage de requรชte XML (XQuery).
- 2008 โ SQL:2008 a introduit l'instruction TRUNCATE et les dรฉclencheurs INSTEAD OF.
- 2011 โ SQL :2011 : prise en charge amรฉliorรฉe des bases de donnรฉes temporaires.
- 2016 โ SQL:2016 a ajoutรฉ la prise en charge de JSON et la correspondance de modรจles de lignes (MATCH_RECOGNIZE).
- 2019 โ SQL/MDA (Partie 15) a ajoutรฉ la prise en charge des tableaux multidimensionnels ร la norme.
- 2023 โ SQL:2023 a ajoutรฉ un type de donnรฉes JSON natif et des requรชtes de graphes de propriรฉtรฉs (SQL/PGQ).
- 2024 โ GQL, le premier nouveau langage de base de donnรฉes ISO depuis SQL, a รฉtรฉ publiรฉ en tant que norme complรฉmentaire pour les requรชtes graphiques.
- 2026 โ SQL:2023 reste la norme actuelle, la prochaine rรฉvision รฉtant en cours d'รฉlaboration ร l'ISO/IEC.
Types de commandes SQL
Voici cinq types de commandes SQL couramment utilisรฉes :
- Data Definition Language (DDL)
- Manipulation de donnรฉes Langue (DML)
- Langue Control Data (DCL)
- Langage de contrรดle des transactions (TCL)
- Langage de requรชte de donnรฉes (DQL)

Le tableau ci-dessous rรฉcapitule les cinq catรฉgories avant que chacune ne soit abordรฉe en dรฉtail.
| Catรฉgories | Interet | Commandes principales |
|---|---|---|
| DDL | Dรฉfinir la structure | CRรER, SUPPRIMER, MODIFIER, TRONQUER |
| DML | Modifier les donnรฉes | INSรRER, METTRE ร JOUR, SUPPRIMER |
| DCL | Contrรดle d'accรจs | GRANT, RรVOQUER |
| TCL | Gรฉrer les transactions | COMMIT, ROLLBACK, SAVEPOINT |
| DQL | Rรฉcupรฉrer des donnรฉes | SELECT |
Qu'est-ce que le DDL ?
Le langage de dรฉfinition de donnรฉes (DDL) permet de dรฉfinir la structure ou le schรฉma d'une base de donnรฉes. Dรฉcouvrons les commandes DDL et leur syntaxe. Les principales commandes DDL en SQL sont : CREATE, DROP, ALTER et TRUNCATE.
CREATE
L'instruction CREATE est utilisรฉe pour dรฉfinir la structure ou le schรฉma de la base de donnรฉes :
syntaxe:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
Par exemple :
Create database university; Create table students; Create view for_students;
GOUTTE
La commande DROP supprime les tables et les bases de donnรฉes du SGBDR.
syntaxe:
DROP TABLE ;
Par exemple :
Drop object_type object_name; Drop database university; Drop table student;
ALTER
La commande ALTER permet de modifier la structure de la base de donnรฉes.
syntaxe: pour ajouter une nouvelle colonne au tableau :
ALTER TABLE table_name ADD column_name COLUMN-definition;
Pour modifier une colonne existante dans le tableau :
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Par exemple :
Alter table guru99 add subject varchar;
TRONQUER
Cette commande permet de supprimer toutes les lignes du tableau et de libรฉrer l'espace contenant le tableau.
syntaxe:
TRUNCATE TABLE table_name;
Exemple :
TRUNCATE table students;
Quโest-ce que le langage de manipulation de donnรฉes ?
Le langage de manipulation de donnรฉes (LMD) permet de modifier une instance de base de donnรฉes en insรฉrant, modifiant et supprimant des donnรฉes. Il est responsable de tous les types de modifications de donnรฉes dans une base de donnรฉes. Les principales commandes LMD en SQL sont :
- INSERT
- MISE A JOUR
- EFFACER
INSERT
Cette instruction permet d'insรฉrer des donnรฉes dans les lignes d'un tableau.
syntaxe:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Par exemple :
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
MISE A JOUR
Cette commande permet de mettre ร jour ou de modifier la valeur d'une colonne du tableau.
syntaxe:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
Par exemple :
UPDATE students SET FirstName = 'Jhon', LastName= 'Wick' WHERE StudID = 3;
EFFACER
Cette commande permet de supprimer une ou plusieurs lignes d'un tableau.
syntaxe:
DELETE FROM table_name [WHERE condition];
Par exemple :
DELETE FROM students WHERE FirstName = 'Jhon';
Quโest-ce que le DCL ?
Le langage DCL (Data Control Language) comprend des commandes telles que GRANT et REVOKE, utiles pour attribuer des droits et des permissions. D'autres commandes permettent de contrรดler les paramรจtres du systรจme de base de donnรฉes.
Subvention
Cette commande permet d'accorder ร un utilisateur des privilรจges d'accรจs ร une base de donnรฉes.
syntaxe:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
Par exemple :
GRANT SELECT ON Users TO'Tom'@'localhost;
Revbien
Cette commande est utile pour reprendre les autorisations ร l'utilisateur.
syntaxe:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
Par exemple :
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
Quโest-ce que TCL ?
Le langage de contrรดle des transactions, ou commandes TCL, gรจre les transactions au sein de la base de donnรฉes. Elles interagissent directement avec les รฉtats dรฉcrits sous gestion des transactions.
SโENGAGER
Cette commande est utilisรฉe pour enregistrer toutes les transactions dans la base de donnรฉes.
syntaxe:
Commit;
Par exemple :
DELETE FROM Students WHERE RollNo =25; COMMIT;
Rollback
La commande Rollback permet d'annuler les transactions qui n'ont pas encore รฉtรฉ enregistrรฉes dans la base de donnรฉes.
syntaxe:
ROLLBACK;
Exemple :
DELETE FROM Students WHERE RollNo =25;
POINT DE SAUVEGARDE
Cette commande vous permet de dรฉfinir un point de sauvegarde au sein d'une transaction.
syntaxe:
SAVEPOINT SAVEPOINT_NAME;
Exemple :
SAVEPOINT RollNo;
Qu'est-ce que DQL?
Le langage de requรชte de donnรฉes (DQL) est utilisรฉ pour extraire des donnรฉes de la base de donnรฉes. Il n'utilise qu'une seule commande : SELECT.
SELECT
Cette commande vous permet de sรฉlectionner les attributs en fonction de la condition dรฉcrite par la clause WHERE.
syntaxe:
SELECT expressions FROM TABLES WHERE conditions;
Par exemple :
SELECT FirstName FROM Student WHERE RollNo > 15;
SUPPRIMER vs TRONQUER vs ABANDONNER
Ces trois commandes suppriment toutes des donnรฉes, mais elles diffรจrent par les donnรฉes supprimรฉes et par la possibilitรฉ d'annuler l'action. Les confondre est une erreur frรฉquente chez les dรฉbutants.
| Aspect | EFFACER | TRONQUER | GOUTTE |
|---|---|---|---|
| Catรฉgories | DML | DDL | DDL |
| Supprime | Lignes sรฉlectionnรฉes | Toutes les lignes | La table entiรจre |
| clause O | Autorisรฉ | Non autorisรฉ | N'est pas applicable |
| Rollback | Possible | Gรฉnรฉralement pas | Pas possible |
| La structure a รฉtรฉ conservรฉe. | Oui | Oui | Non |
En rรฉsumรฉ, utilisez DELETE pour supprimer des lignes spรฉcifiques, TRUNCATE pour vider rapidement une table et DROP pour supprimer complรจtement la table.
