Instrukcja DELETE służy do usuwania rekordów w tabeli.
SQL DELETE
Instrukcja DELETE służy do usuwania wierszy w tabeli.
Składnia SQL DELETE
DELETE FROM table_name
WHERE some_column = some_value ;
Zwróć uwagę na klauzulę gdzie w SQL DELETE!
Klauzula WHERE określa które rejestrują lub zapisy, które powinny być usunięte. Jeśli pominięto klauzuli WHERE, wszystkie rekordy zostaną usunięte!
Demo Database
W tym tutorialu użyjemy znaną bazę danych Northwind.
Poniżej znajduje się wybór z "Customers" tabeli:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitucion 2222 | Mexico D.F. | 05021 | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Mexico D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbkop | Christina Berglund | Berguvsvagen 8 | Lulea | S-958 22 | Sweden |
Przykład SQL DELETE
Załóżmy, że chcemy usunąć klienta "Alfreds Futterkiste" z "Customers" tabeli.
Używamy następującą instrukcję SQL:
Przykład
DELETE FROM Customers
WHERE CustomerName='Alfreds Futterkiste' AND ContactName='Maria Anders';
Spróbuj sam " "Customers" tabela będzie wyglądać następująco:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitucion 2222 | Mexico D.F. | 05021 | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Mexico D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbkop | Christina Berglund | Berguvsvagen 8 | Lulea | S-958 22 | Sweden |
Usuwanie wszystkich danych
Jest to możliwe, aby usunąć wszystkie wiersze w tabeli bez usuwania tabeli. Oznacza to, że struktura tabeli, atrybuty i indeksy będą w stanie nienaruszonym:
DELETE FROM table_name ;
or
DELETE * FROM table_name ;
Note: Należy być bardzo ostrożnym podczas usuwania rekordów. Nie można cofnąć to oświadczenie!