5.1 DELETE FROM-Anweisung

Was in SQL einfach ist, ist das Löschen von Daten. Sie können absolut alles sehr schnell löschen, und niemand wird Sie um eine Bestätigung bitten.

Beginnen wir mit dem einfachsten Szenario: So löschen Sie eine Zeile in einer Tabelle .

Dies ist das Szenario, das Sie am häufigsten sehen werden. Normalerweise handelt es sich um das Löschen eines bestimmten Datensatzes, und die Standardabfrage sieht normalerweise so aus:

DELETE FROM table
WHERE id = 133;

Dies ist die einzige Abfrage, bei der Sie die Namen der Spalten nicht angeben müssen: Schließlich werden die Daten sofort zeilenweise gelöscht.

Das zweite Szenario ist das Löschen der Zeilen, die durch die ID-Liste angegeben sind . Auch hier ist alles ganz einfach:

DELETE FROM table
WHERE id IN (1, 2, 3,);

Das dritte Szenario besteht darin, Zeilen zu entfernen, die einer bestimmten Bedingung entsprechen:

DELETE FROM table
WHERE condition;

Nehmen wir an, wir möchten alle unsere Programmierer entlassen, dann müssen wir eine Anfrage schreiben wie:

DELETE FROM employee
WHERE occupation = 'Programmer';

Und schließlich, wenn Sie alle Datensätze löschen möchten, können Sie eine Abfrage wie diese schreiben:

DELETE FROM table

Diese einfache Abfrage reicht aus, um alle Datensätze aus einer Tabelle zu entfernen. In diesem Fall gibt es übrigens kein Strg + Z. Aufnahmen werden einfach ohne Wiederherstellungsmöglichkeit gelöscht und das war’s. Machen Sie also öfter Backups .

5.2 Alles entfernen

Zum schnellen Entfernen (um den Benutzern Kopfschmerzen zu bereiten) verfügt SQL über einige weitere Befehle.

Wie lösche ich schnell alle Daten in einer Tabelle? Verwenden Sie den Operator TRUNCATE :

TRUNCATE TABLE table

Ein Tippfehler im Namen der Tabelle – und schon sind Sie auf ein paar Tage Datenwiederherstellung angewiesen. Seien Sie froh, dass Sie kein Datenbankadministrator sind.

Wenn Sie nicht nur die Daten in der Tabelle, sondern auch die Tabelle selbst löschen müssen, gibt es dafür einen Operator DROP :

DROP TABLE table

Ähnliche Möglichkeiten gibt es übrigens auch bei Datenbankschemata . Wenn Sie die Datenbank selbst löschen möchten, dann:

DROP SCHEME database

oder:

DROP DATABASE database

Sie können DROP auch zum Löschen verwenden:

  • FALL
  • FUNKTION
  • VERFAHREN
  • INDEX
  • SICHT
  • ABZUG

Und hier sind ein paar interessante Geschichten zum Thema Datenlöschung:

Pause des Tages. GitLab hat aufgrund eines Systemadministratorfehlers 300 GB Kundendaten gelöscht

sudo rm -rf oder Chronik des GitLab.com-Datenbankvorfalls vom 31.01.2017

Silicon Valley „Silicon Valley“ – Datenlöschung