Używamy cookies, żeby zwiększyć Twoje doświadczenia na stronie
CodeWorlds

DELETE - zdejmowanie zwoju z regału

Gdy księga ulegnie zniszczeniu albo czytelnik wypisze się z Biblioteki, skryba usuwa odpowiedni wiersz poleceniem DELETE FROM.

Składnia

1DELETE FROM czytelnicy
2WHERE id = 12;

Dwie części:

  • DELETE FROM czytelnicy - z którego regału usuwamy.
  • WHERE id = 12 - który wiersz ma zniknąć.

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
.)

Usuwanie wielu wierszy

WHERE
może wskazać więcej niż jeden wiersz:

1DELETE FROM ksiazki
2WHERE dostepna = 0;

To usunie wszystkie książki oznaczone jako niedostępne.

DRUGIE WIELKIE OSTRZEŻENIE: zawsze WHERE!

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
.

Przejdź do CodeWorlds