Gdy księga ulegnie zniszczeniu albo czytelnik wypisze się z Biblioteki, skryba usuwa odpowiedni wiersz poleceniem DELETE FROM.
1DELETE FROM czytelnicy
2WHERE id = 12;Dwie części:
Zauważ, że przy
DELETE nie podajemy żadnych kolumn - usuwamy cały wiersz, nie pojedyncze pole. (Aby wyczyścić tylko jedno pole, używamy UPDATE ... SET pole = NULL.)WHERE może wskazać więcej niż jeden wiersz:1DELETE FROM ksiazki
2WHERE dostepna = 0;To usunie wszystkie książki oznaczone jako niedostępne.
To polecenie wygląda niegroźnie, ale jest najgroźniejsze ze wszystkich:
1DELETE FROM czytelnicy;Bez
WHERE usuwa WSZYSTKICH czytelników - cały regał zostaje opróżniony! Nie ma kosza, nie ma cofnięcia. Zwoje przepadają.Dlatego doświadczony skryba ma żelazny nawyk: najpierw pisze WHERE, dopiero potem resztę polecenia. Niektórzy nawet sprawdzają warunek poleceniem
SELECT * FROM tabela WHERE ... zakończonym znakiem ";", by zobaczyć, które wiersze znikną, zanim wydadzą DELETE.