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.