Instrukcja DELETE FROM w SQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Instrukcja DELETE FROM w SQL

DELETE FROM to instrukcja SQL służąca do usuwania rekordów z tabeli bazy danych. Usuwa całe wiersze, a nie pojedyncze wartości z kolumn.

Składnia

DELETE FROM nazwa_tabeli
WHERE warunek;

Najważniejszą częścią jest klauzula WHERE, która określa, które rekordy mają zostać usunięte.

Przykład

DELETE FROM produkty
WHERE status < 0;

To zapytanie usuwa z tabeli produkty wszystkie wiersze, w których wartość pola status jest mniejsza od zera.

Uwaga na brak WHERE

DELETE FROM produkty;

Takie zapytanie usuwa wszystkie rekordy z tabeli produkty. Sama tabela nadal istnieje, ale zostaje opróżniona z danych.

DELETE a liczba usuniętych wierszy

Po wykonaniu zapytania DELETE w PHP można sprawdzić, ile rekordów zostało usuniętych, np. funkcją:

mysqli_affected_rows($db);

Jeśli zapytanie usunęło 5 rekordów, funkcja zwróci 5. Jeśli żaden rekord nie spełniał warunku, zwróci 0.

Ważne na egzaminie

DELETE FROM nie zwraca listy rekordów jak SELECT. Jest to zapytanie modyfikujące dane, a jego skutkiem jest usunięcie wierszy spełniających podany warunek.