Za pomocą polecenia DELETE FROM można
Polecenie DELETE FROM usuwa rekordy z tabeli, a klauzula WHERE wskazuje, które z nich, np. DELETE FROM klienci WHERE miasto = 'Kraków'. Struktura tabeli zostaje nietknięta: kolumny, typy i indeksy dalej istnieją, znikają tylko wiersze spełniające warunek. Do zapamiętania: DELETE FROM bez WHERE usuwa wszystkie rekordy, więc przed wykonaniem warto sprawdzić warunek zapytaniem SELECT z tym samym WHERE. Całą tabelę ze strukturą usuwa dopiero DROP TABLE. Warunek może być złożony, np. usunięcie zamówień starszych niż wybrana data. Usuniętych rekordów nie da się przywrócić bez kopii zapasowej, chyba że operację wykonano w transakcji, którą można jeszcze wycofać poleceniem ROLLBACK. Pokrewne polecenie TRUNCATE TABLE czyści całą tabelę, ale również zachowuje jej strukturę.
Każda z błędnych odpowiedzi opisuje inne polecenie SQL. Usunięcie tabeli razem z jej strukturą wykonuje DROP TABLE - po nim tabela przestaje istnieć. Nową tabelę tworzy CREATE TABLE, a strukturę istniejącej, czyli kolumny i ich typy, zmienia ALTER TABLE. DELETE FROM działa na danych, a nie na budowie tabeli: kasuje wiersze, a definicja tabeli zostaje. Pomyłka bierze się zwykle ze słowa „usunąć”, które pasuje i do DELETE, i do DROP. Różnica jest jednak zasadnicza: pierwsze usuwa rekordy, drugie całą tabelę. Dobrym sposobem jest podział poleceń SQL na dwie grupy. Polecenia definiujące strukturę - CREATE, ALTER i DROP - działają na tabelach jako całości. Polecenia operujące na danych - SELECT, INSERT, UPDATE i DELETE - działają na rekordach. DELETE FROM należy do drugiej grupy, więc nie tworzy, nie zmienia i nie usuwa tabeli.