Comanda DELETE
permite ștergerea înregistrărilor din tabel care respectă anumite condiții. Sintaxa ei este:
DELETE FROM nume_tabel [WHERE conditie] [LIMIT n]
Clauza WHERE
precizează condițiile îndeplinite de înregistrările care vor fi șterse. Dacă această clauză lipsește, se vor șterge toate înregistrările. Clauza LIMIT
specifică numărul maxim (n
) de înregistrări care vor fi șterse.
Operația de ștergere a înregistrărilor este ireversibilă!!!
Exemple
În tabelul elevi
, adăugăm o înregistrare “eronată”.
mysql> insert into elevi set nume='Nume Gresit', clasa='10'; Query OK, 1 row affected, 3 warnings (0.55 sec)
Pentru a se asigura ștergerea înregistrării dorite, se recomandă utilizarea coloanei id
(chei primară, cu auto incrementare) în stabilirea condiției pentru clauza WHERE
. Afișăm înregistrarea, știind valoarea numelui.
mysql> select id, nume from elevi where nume ='Nume Gresit'; +----+-------------+ | id | nume | +----+-------------+ | 5 | Nume Gresit | +----+-------------+ 1 row in set (0.00 sec)
ștergem înregistrarea, folosind clauza WHERE
și reafișăm tabelul.
mysql> delete from elevi where id=5 ; Query OK, 1 row affected (0.00 sec) mysql> select * from elevi; +----+-------------+-------+-------+-------+-------+ | id | nume | clasa | nota1 | nota2 | media | +----+-------------+-------+-------+-------+-------+ | 1 | POPESCU ION | 12 | 7 | 8 | 7.50 | | 2 | IONESCU ANA | 11 | 7 | 9 | 8.00 | | 3 | POP VASILE | 12 | 10 | 9 | 9.50 | | 4 | ION ION | 12 | 3 | 4 | 0.00 | +----+-------------+-------+-------+-------+-------+ 4 rows in set (0.00 sec)