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.
- Bis zu 1 Gbit/s Bandbreite & unbegrenzt Traffic
- Schneller NVMe-SSD-Speicher
- Kostenlose Plesk Web Host Edition
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;
sqlIn 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;
sqlDa 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';
sqlDa 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;
sqlSie 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;
sqlFü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.
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.