Usuwanie wierszy z tabeli
Polecenie DELETE służy do usuwania całych wierszy (rekordów) z tabeli. Nie można użyć DELETE do usunięcia „części” wiersza (do tego służy UPDATE ... SET Kolumna = NULL).
Składnia
Składnia:
DELETE FROM [nazwa_tabeli]...;Krytyczna rola klauzuli WHERE
Podobnie jak w UPDATE, klauzula WHERE jest absolutnie krytyczna. Identyfikuje ona wiersze, które mają zostać usunięte — bez niej polecenie usunie wszystkie wiersze z tabeli.
Przykład: Usuń ucznia o ID 102.
DELETE FROM Uczniowie WHERE ID_Ucznia = 102;Druga pułapka DML
Jeśli zapomnisz o klauzuli WHERE w poleceniu DELETE, baza danych również nie zgłosi błędu. Potraktuje to jako polecenie „usuń wszystkie wiersze z tabeli”.
Katastrofalny przykład:
DELETE FROM Uczniowie;Rezultat: tabela Uczniowie jest teraz pusta — wszystkie dane zostały usunięte.
Praktyczna zasada bezpieczeństwa
Zanim uruchomisz DELETE, napisz SELECT z tym samym warunkiem WHERE, aby zobaczyć, co dokładnie zamierzasz usunąć:
SELECT * FROM Uczniowie WHERE Status = 'Nieaktywny';Materiały kursu omawiające DML (w tym polecenie DELETE) oraz klauzulę WHERE znajdują się w Lekcji 1 i Lekcji 4 .