SQL DELETE: So löschen Sie einen oder mehrere Beiträge aus Ihrer Tabelle

SQL DELETE ist der einfachste Befehl, wenn Sie einen Eintrag aus einer Tabelle entfernen möchten. Er ermöglicht den Einsatz einer WHERE-Bedingung. Diese ist optional, verzichten Sie allerdings auf sie, wird die gesamte Tabelle geleert.

Was ist SQL Delete?

Bei der Arbeit mit einer Tabelle wird es immer wieder vorkommen, dass ein Eintrag obsolet ist und somit nicht länger in Ihrem Datensatz aufgeführt werden soll. Möchten Sie einen solchen Eintrag entfernen, stellt Ihnen die Structured Query Language die Anweisung SQL DELETE zur Verfügung. Mit dieser weisen Sie das System an, einen oder mehrere bestimmte Einträge zu löschen. Um sicherzugehen, dass lediglich die gewünschten Daten aus der Tabelle genommen werden, ist der Einsatz der Anweisung WHERE von großer Bedeutung. Verzichten Sie auf diesen Zusatz, werden sämtliche Einträge aus der Tabelle entfernt. Hier ist daher größte Vorsicht geboten.

vServer (VPS) von IONOS

Günstige und starke VPS für Webserver, Mailserver und eigene Anwendungen mit persönlichem Berater und 24/7 Support!

100 % SSD-Speicher
Bereit in 55 Sek.
SSL Zertifikat

Syntax und Funktionsweise

In der Syntax von SQL DELETE ist die Spezifikation durch den Zusatz WHERE impliziert. Den SQL-Befehl bilden Sie somit immer auf diese Weise:

DELETE FROM name_der_tabelle
WHERE bedingung;
sql

In der ersten Zeile initiieren Sie den eigentlichen Befehl und spezifizieren, in welcher Tabelle die Löschung vorgenommen werden soll. Die zweite Zeile ist optional. Hier hinterlegen Sie, welche Bedingung eine Zeile erfüllen muss, um für die Löschung berücksichtigt zu werden. Verzichten Sie auf diesen Zusatz, berücksichtigt das System alle Zeilen in dieser Tabelle und entfernt sie.

Einen oder mehrere Einträge entfernen

Am einfachsten lässt sich die Funktionsweise von SQL DELETE mit Hilfe eines Beispiels erklären. Dafür erstellen wir eine fiktive Tabelle namens „Kundenliste“. Diese enthält unterschiedliche Einträge zu Kundinnen und Kunden eines Unternehmens und umfasst eine Kundennummer, den Namen und den Standort. So sieht diese Tabelle aus:

Kundennummer Name Standort
1427 Schmidt Berlin
1377 Schulz Hamburg
1212 Peters Hamburg
1431 Müller München
1118 Becker Passau

Wenn Sie nun den Kunden Schulz aus Ihrer Liste löschen möchten, wenden Sie die Anweisung folgendermaßen an:

DELETE FROM Kundenliste
WHERE Kundennummer = 1377;
sql

Da nur der Kunde Schulz die Kundennummer 1377 hat, sieht die Tabelle im Anschluss so aus:

Kundennummer Name Standort
1427 Schmidt Berlin
1212 Peters Hamburg
1431 Müller München
1118 Becker Passau

Alternativ hätten Sie als Bedingung unter WHERE den Namen 'Schulz' wählen können.

Das Löschen mehrerer Kundinnen und Kunden funktioniert nach einem ähnlichen Prinzip. In unserem Beispiel könnten wir sämtliche Einträge mit dem Standort Hamburg entfernen. Dies wäre der passende Code:

DELETE FROM Kundenliste
WHERE Standort = 'Hamburg';
sql

Da zwei Einträge diesen Wert haben, sieht die Tabelle dann aus wie folgt:

Kundennummer Name Standort
1427 Schmidt Berlin
1431 Müller München
1118 Becker Passau

Alle Einträge aus einer Tabelle entfernen

Wenn Sie bei der Durchführung von SQL DELETE auf die Bedingung WHERE verzichten, entfernen Sie sämtliche Einträge. Die Tabelle bleibt trotzdem bestehen. Sie ist nach der Durchführung allerdings leer. Für unser Beispiel wäre dies die passende Anweisung:

DELETE FROM Kundenliste;
sql

Sie sollten mit diesem Befehl daher unbedingt vorsichtig umgehen.

Die komplette Tabelle löschen mit DROP TABLE

Möchten Sie die gesamte Tabelle entfernen, ist die Anweisung DROP TABLE die passende Wahl. Dies ist ihre Syntax:

DROP TABLE name_der_tabelle;
sql

Für unser Beispiel wäre dies daher der entsprechende Code:

DROP TABLE Kundenliste;
sql

Ähnliche Befehle wie SQL DELETE

Eine Alternative zu SQL DELETE ist der Befehl TRUNCATE TABLE. Dieser kann jedoch nur genutzt werden, um sämtliche Einträge in einer Tabelle auf einmal zu entfernen. Er unterstützt keine WHERE-Bedingung. Eine neue Tabelle erstellen Sie mit SQL CREATE TABLE. Um zu verhindern, dass Sie Daten versehentlich unwiederbringlich löschen, sind regelmäßige Backups empfehlenswert. Dafür verwenden Sie SQL BACKUP DATABASE.

Tipp

Profitieren Sie von Top-Performance! Mit SQL-Server-Hosting von IONOS haben Sie die Wahl zwischen MSSQL, MySQL und MariaDB. Persönlicher Support, hohe Geschwindigkeiten und eine erstklassige Sicherheitsarchitektur sind allerdings in jedem Fall garantiert.