InfoBook.ro ← Harta anului
Modul 07 · SQL — DML & DDL
Modul 07 · Conținut 3.1 · limbaj

Schimbă datele și structura

Până acum doar ai citit. Acum modifici: DML schimbă DATELE (INSERT, UPDATE, DELETE), iar DDL schimbă STRUCTURA (CREATE, ALTER, DROP). Două seturi de comenzi, două nivele diferite.

🎯 Obiectiv 1Scrii INSERT, UPDATE, DELETE — și înțelegi de ce WHERE e vital.
🎯 Obiectiv 2Creezi și modifici structura cu CREATE, ALTER, DROP.
🎯 Obiectiv 3Respecți ordinea dependențelor la creare și ștergere.
1

DML — limbajul de manipulare a datelor

Trei comenzi pentru rânduri: adaugi, modifici, ștergi.

1INSERT INTO produse (denumire, pret, stoc)
2VALUES ('Cafea', 12.5, 30); -- adaugă un rând
3
4UPDATE produse SET pret = 4.0
5WHERE id = 1; -- modifică rândul cu id 1
6
7DELETE FROM produse WHERE id = 2; -- șterge rândul cu id 2
Cea mai scumpă greșeală din SQL: UPDATE sau DELETE fără WHERE afectează TOATE rândurile. DELETE FROM produse; golește tabelul. Verifică mereu WHERE înainte de a rula.
2

Laborator: o bază de date vie

Rulează comenzi DML pe tabela produse și vezi efectul imediat. „Reset" reface starea inițială.

INSERT denumire pret stoc
UPDATE id SET pret =
DELETE id
— comenzile pe care le rulezi apar aici —
3

DDL — limbajul de definire a datelor

Aici nu atingi rândurile, ci SCHELETUL: creezi tabele, le modifici structura, le ștergi de tot.

1CREATE TABLE produse ( -- tabelă nouă
2 id INT PRIMARY KEY,
3 denumire VARCHAR(50) NOT NULL,
4 pret DECIMAL(6,2)
5);
6ALTER TABLE produse ADD stoc INT; -- coloană nouă
7DROP TABLE produse; -- șterge tabela COMPLET
DELETE vs DROP: DELETE (DML) scoate RÂNDURI, dar tabela rămâne. DROP (DDL) șterge TABELA cu tot cu structură. Confuzia lor e o greșeală clasică la BAC.
4

Ordinea dependențelor — cheia externă dictează

Când tabelele se leagă prin chei externe, ordinea contează la creare și la ștergere.

La CREARE: părintele întâi

1CREATE TABLE clase (...);
2CREATE TABLE elevi (..., -- FK spre clase
3 id_clasa INT REFERENCES clase);

Nu poți referi o tabelă care încă nu există.

La ȘTERGERE: copilul întâi

1DROP TABLE elevi; -- întâi cel care referă
2DROP TABLE clase; -- apoi părintele

Nu poți șterge un părinte cât are copii care-l referă.

Legătura cu grafurile (XI): dependențele dintre tabele formează un graf orientat; ordinea corectă de creare e o sortare topologică a lui — părinții înaintea copiilor.
5

Verificare rapidă

Șase întrebări despre DML și DDL.

6

Fișa de sinteză

DML & DDL, condensat.

DML (date): INSERT (adaugă), UPDATE (modifică), DELETE (șterge rânduri).
DDL (structură): CREATE (tabelă), ALTER (modifică structura), DROP (șterge tabela).
WHERE e vital la UPDATE/DELETE — fără el, afectezi TOATE rândurile.
DELETE ≠ DROP: DELETE scoate rânduri, DROP șterge tabela întreagă.
Creare: părintele întâi (tabela referită), apoi copilul cu FK.
Ștergere: copilul întâi, apoi părintele (sortare topologică).
← anteriorModul 06 · Agregate & JOIN urmează →Modul 08 · Python + baza de date