MySQL DELETE- Anweisung
Die MySQL-DELETE-Anweisung
Die DELETE
Anweisung wird verwendet, um vorhandene Datensätze in einer Tabelle zu löschen.
DELETE-Syntax
DELETE FROM table_name WHERE condition;
Hinweis: Vorsicht beim Löschen von Datensätzen in einer Tabelle! Beachten Sie die
WHERE
Klausel in der
DELETE
Anweisung. Die WHERE
Klausel gibt an, welche Datensätze gelöscht werden sollen. Wenn Sie die WHERE
Klausel weglassen, werden alle Datensätze in der Tabelle gelöscht!
Demo-Datenbank
Nachfolgend finden Sie eine Auswahl aus der Tabelle "Kunden" in der Northwind-Beispieldatenbank:
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 Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
SQL-DELETE-Beispiel
Die folgende SQL-Anweisung löscht den Kunden „Alfreds Futterkiste“ aus der Tabelle „Kunden“:
Beispiel
DELETE FROM Customers
WHERE CustomerName='Alfreds Futterkiste';
Die Tabelle „Kunden“ sieht nun so aus:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Alle Datensätze löschen
Es ist möglich, alle Zeilen in einer Tabelle zu löschen, ohne die Tabelle zu löschen. Das bedeutet, dass die Tabellenstruktur, Attribute und Indizes intakt bleiben:
DELETE FROM table_name;
Die folgende SQL-Anweisung löscht alle Zeilen in der Tabelle "Kunden", ohne die Tabelle zu löschen:
Beispiel
DELETE FROM Customers;