W MySQL możesz usuwać dane tak łatwo, jak możesz je przeszukiwać lub aktualizować.
SQL DELETE
Oświadczenie
Użyj polecenia SQL DELETE
oświadczenie o usunięciu danych z Twojej bazy danych. Podobnie jak SELECT
i UPDATE
instrukcji, DELETE
instrukcja akceptuje WHERE
klauzulę, aby można było określić dokładne rekordy do usunięcia.
Składnia
DELETE FROM table_name WHERE column_name = value;
Przykład
-
Dane
Oto dane, zanim cokolwiek usuniemy.
-
Usuń niektóre dane
Usuńmy czerwone winogrona z naszej listy owoców. Czerwonym winogronom przypisano FruitId z
5
więc użyjemy tego w naszymDELETE
oświadczenie.DELETE FROM Fruit WHERE FruitId = 5;
-
Wynik
Jeśli uruchomimy powyższy kod, a następnie wybierzemy wszystkie wiersze z tabeli, zobaczymy, że rekord został usunięty.
Usuń wszystkie rekordy
Możesz łatwo usunąć wszystkie rekordy w tabeli. Właściwie łatwiej jest usunąć wszystkie rekordów niż usuwanie jednego konkretnego rekordu.
-
Kodeks
Aby usunąć wszystkie rekordy w tabeli, po prostu pomiń
WHERE
klauzula. Tak:DELETE FROM Fruit;
-
Wynik
Ups… Nigdy więcej rekordów!
Jak możesz sobie wyobrazić, opłaca się być bardzo ostrożnym podczas korzystania z DELETE
oświadczenie. W tym miejscu może pomóc tryb bezpiecznych aktualizacji (co opisaliśmy podczas aktualizacji naszych danych).
Jak się okazuje, powyższe oświadczenie udało mi się uruchomić dopiero po wyłączeniu trybu Bezpiecznych aktualizacji. Tak więc, zanim uruchomiłem tę instrukcję, uruchomiłem następujące polecenie:
SET SQL_SAFE_UPDATES = 0;
Więc teraz prawdopodobnie jest dobry moment, aby ponownie włączyć Bezpieczne aktualizacje — zanim wyrządzę więcej szkód…
SET SQL_SAFE_UPDATES = 1;
Przywróć dane
Teraz, gdy wymazaliśmy wszystkie rekordy z Owoców tabeli, zobaczmy, czy uda nam się przywrócić im pierwotną wartość. Na szczęście dla nas wcześniej napisaliśmy skrypt, który wstawia dane do naszych tabel.
-
Kodeks
Usuńmy więc część, która wypełnia Owoce tabeli i uruchom to:
INSERT INTO Fruit VALUES (1,'Apple',10,1,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (2,'Orange',5,2,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (3,'Banana',20,6,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (4,'Watermelon',10,1,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (5,'Grapes',15,6,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (6,'Strawberry',12,7,'2015-02-15 10:30:00','2015-02-15 10:30:00');
-
Wynik
Teraz nasza tabela powinna wyglądać tak, jak wcześniej, kiedy początkowo wypełnialiśmy dane.