Comenzi SQL: DQL, DDL, DML, DCL și TCL cu exemple
⚡ Rezumat inteligent
Comenzile SQL sunt grupate în cinci sublimbaje care gestionează o bază de date relațională. DDL definește structura, DML modifică datele, DCL controlează accesul, TCL gestionează tranzacțiile, iar DQL preia date, fiecare cu propriul set de instrucțiuni și sintaxă.

Ce este SQL?
SQL este un limbaj de bază de date conceput pentru regăsirea și gestionarea datelor dintr-o bază de date relațională.
SQL este limbajul standard pentru gestionarea bazelor de date. Toate sistemele RDBMS ca MySQL, MS Access, OracleSybase, Postgres și SQL Server folosesc SQL ca limbaj standard pentru baze de date. Limbajul de programare SQL utilizează diverse comenzi pentru diferite operațiuni. Vom învăța despre comenzile DCL, TCL, DQL, DDL și DML în SQL cu exemple.
De ce să folosiți SQL?
Iată câteva motive importante pentru utilizarea SQL:
- Acesta ajută utilizatorii să acceseze datele din Sistem RDBMS.
- Te ajută să descrii datele.
- Vă permite să definiți datele într-o bază de date și să manipulați acele date specifice.
- Cu ajutorul comenzilor SQL, puteți crea și elimina baze de date și tabele.
- SQL vă permite să utilizați funcții într-o bază de date și să creați vizualizări și proceduri stocate.
- Puteți seta permisiuni pentru tabele, proceduri și vizualizări.
Scurt istoric al SQL
Iată repere importante din istoricul SQL:
- 1970 – Dr. Edgar F. „Ted” Codd a descris un model relațional pentru baze de date.
- 1974 – A apărut limbajul de interogare structurat, denumit inițial SEQUEL la IBM.
- 1979 - Oracle a lansat prima bază de date SQL disponibilă comercial, bazată pe IBMPrototipul de cercetare System R al lui .
- 1986 – ANSI a publicat primul standard SQL, SQL-86.
- 1989 – SQL-89 a apărut ca prima revizuire a standardului.
- 1992 – SQL-92 (SQL2) a devenit principala bază de date la care fac referire și astăzi majoritatea bazelor de date.
- 1999 – A fost lansat SQL:1999 (SQL3) cu funcții precum declanșatoare, interogări recursive și orientare pe obiecte.
- 2003 – SQL:2003 a adăugat funcții de fereastră, generatoare de secvențe și caracteristici legate de XML.
- 2006 – SQL:2006 a adăugat suport pentru XML Query Language (XQuery).
- 2008 – SQL:2008 a introdus instrucțiunea TRUNCATE și declanșatoarele INSTEAD OF.
- 2011 – SQL:2011 a îmbunătățit suportul pentru bazele de date temporale.
- 2016 – SQL:2016 a adăugat suport JSON și potrivirea modelelor de rânduri (MATCH_RECOGNIZE).
- 2019 – SQL/MDA (Partea 15) a adăugat standardului suport pentru matrice multidimensionale.
- 2023 – SQL:2023 a adăugat un tip de date JSON nativ și interogări de tip grafic de proprietăți (SQL/PGQ).
- 2024 – GQL, primul limbaj ISO nou pentru baze de date de la SQL încoace, a fost publicat ca standard complementar pentru interogările grafice.
- 2026 – SQL:2023 rămâne standardul actual, următoarea revizuire fiind în curs de dezvoltare la ISO/IEC.
Tipuri de comenzi SQL
Iată cinci tipuri de comenzi SQL utilizate pe scară largă:
- Data Definition Language (DDL)
- Manipularea datelor (DML)
- Limba de control a datelor (DCL)
- Limbajul de control al tranzacțiilor (TCL)
- Limbajul de interogare a datelor (DQL)

Tabelul de mai jos prezintă un rezumat al celor cinci categorii înainte de a prezenta fiecare în detaliu.
| Categorii | Scop | Comenzile principale |
|---|---|---|
| DDL | Definiți structura | CREAȚI, ȘTERGEȚI, MODIFICAȚI, TRUNCIAȚI |
| DML | Modificați datele | INSERT, UPDATE, DELETE |
| DCL | Controlează accesul | ACORDA, REVOCA |
| TCL | Gestionați tranzacțiile | VALIDARE, REVERSARE, PUNCT DE SALVARE |
| DQL | Preluați datele | SELECT |
Ce este DDL?
Limbajul de definire a datelor (DDL) vă ajută să definiți structura sau schema bazei de date. Să învățăm despre comenzile DDL și sintaxa lor. Principalele comenzi DDL în SQL sunt CREATE, DROP, ALTER și TRUNCATE.
CREATE
Instrucțiunea CREATE este utilizată pentru a defini structura sau schema bazei de date:
Sintaxă:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
De exemplu:
Create database university; Create table students; Create view for_students;
CĂDERE BRUSCA
Comanda DROP elimină tabelele și bazele de date din RDBMS.
Sintaxă:
DROP TABLE ;
De exemplu:
Drop object_type object_name; Drop database university; Drop table student;
MODIFICA
Comanda ALTER permite modificarea structurii bazei de date.
Sintaxă: pentru a adăuga o nouă coloană în tabel:
ALTER TABLE table_name ADD column_name COLUMN-definition;
Pentru a modifica o coloană existentă în tabel:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
De exemplu:
Alter table guru99 add subject varchar;
TRUNCHIA
Această comandă este folosită pentru a șterge toate rândurile din tabel și pentru a elibera spațiul care conține tabelul.
Sintaxă:
TRUNCATE TABLE table_name;
Exemplu:
TRUNCATE table students;
Ce este limbajul de manipulare a datelor?
Limbajul de Manipulare a Datelor (DML) vă permite să modificați instanța bazei de date prin inserarea, modificarea și ștergerea datelor acesteia. Este responsabil pentru efectuarea tuturor tipurilor de modificări ale datelor într-o bază de date. Comenzile DML importante în SQL sunt:
- INSERT
- UPDATE
- DELETE
INSERT
Această instrucțiune este utilizată pentru a insera date în rândurile unui tabel.
Sintaxă:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
De exemplu:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
UPDATE
Această comandă este utilizată pentru a actualiza sau modifica valoarea unei coloane din tabel.
Sintaxă:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
De exemplu:
UPDATE students SET FirstName = 'Jhon', LastName= 'Wick' WHERE StudID = 3;
DELETE
Această comandă este folosită pentru a elimina unul sau mai multe rânduri dintr-un tabel.
Sintaxă:
DELETE FROM table_name [WHERE condition];
De exemplu:
DELETE FROM students WHERE FirstName = 'Jhon';
Ce este DCL?
DCL (Data Control Language - Limbaj de control al datelor) include comenzi precum GRANT și REVOKE, care sunt utile pentru acordarea de drepturi și permisiuni. Alte comenzi controlează parametrii sistemului de baze de date.
Grant
Această comandă este utilizată pentru a acorda unui utilizator privilegii de acces la o bază de date.
Sintaxă:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
De exemplu:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revbine
Această comandă este utilă pentru a recupera permisiunile utilizatorului.
Sintaxă:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
De exemplu:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
Ce este TCL?
Limbajul de control al tranzacțiilor, sau comenzile TCL, se ocupă de tranzacțiile din baza de date. Acestea lucrează direct cu stările descrise la managementul tranzacțiilor.
Comite
Această comandă este folosită pentru a salva toate tranzacțiile în baza de date.
Sintaxă:
Commit;
De exemplu:
DELETE FROM Students WHERE RollNo =25; COMMIT;
Rollback
Comanda Rollback vă permite să anulați tranzacțiile care nu au fost deja salvate în baza de date.
Sintaxă:
ROLLBACK;
Exemplu:
DELETE FROM Students WHERE RollNo =25;
PUNT DE SALVARE
Această comandă vă ajută să setați un punct de salvare în cadrul unei tranzacții.
Sintaxă:
SAVEPOINT SAVEPOINT_NAME;
Exemplu:
SAVEPOINT RollNo;
Ce este DQL?
Limbajul de interogare a datelor (DQL) este utilizat pentru a prelua date din baza de date. Folosește o singură comandă, SELECT.
SELECT
Această comandă vă ajută să selectați atributele pe baza condiției descrise de clauza WHERE.
Sintaxă:
SELECT expressions FROM TABLES WHERE conditions;
De exemplu:
SELECT FirstName FROM Student WHERE RollNo > 15;
ȘTERGERE vs. TRUNCARE vs. REDUCERE
Aceste trei comenzi elimină date, dar diferă prin ceea ce elimină și dacă acțiunea poate fi anulată. Confuzia lor este o greșeală frecventă la începători.
| Aspect | DELETE | TRUNCHIA | CĂDERE BRUSCA |
|---|---|---|---|
| Categorii | DML | DDL | DDL |
| Îndepărtează | Rânduri selectate | Toate rândurile | Întreaga masă |
| clauza WHERE | Permis | Nu sunt permise | Nu se aplică |
| Rollback | Posibil | De obicei nu | Nu este posibil |
| Structura păstrată | Da | Da | Nu |
Pe scurt, utilizați DELETE pentru a elimina anumite rânduri, TRUNCATE pentru a goli rapid un tabel și DROP pentru a elimina complet tabelul.
