Lekcja 19: Usuwanie danych - DELETE

Preview Mode

You're viewing this material in preview mode. Sign up to track your progress and access all features.

Lekcja 19: Usuwanie danych - DELETE
Required In Progress

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 .