DELETE Statements - Data Manipulation Language (SQL-DML)
https://oer-informatik.de/sql-dml-delete
tl/dr; Delete-Statements löschen selektierte Datensätzen. Sie gehören zur DML-Sprachfamilie, lassen also die Datenstruktur (z.B. auch Indexnummern) unangetastet. (zuletzt aktualisiert am 21.05.2023)
Die Sprachbestandteile der SQL-DML bilden die Methoden für Create, Read, Update, Delete. Letzteres wird mit dem Befehl DELETE
umgesetzt, der folgende allgemeine Form hat:
An einem praktischen Beispiel:
Für den WHERE
-Clause gelten die gleichen Voraussetzungen, wie beim SELECT
-Statement. Der WHERE
-Clause ist optional, wird er weggelassen werden alle Datensätze der Tabelle gelöscht. Die Autoincrement-Werte werden jedoch nicht zurückgesetzt (hierfür gibt es weitere Befehle, etwa TRUNCATE
, was aber Bestandteil der DDL ist).
Als Railroad-Diagramm dargestellt ist die allgemeine Syntax des DELETE
-Statements:

Sofern die Datenbank händisch bearbeitet wird, bietet es sich an, zunächst per SELECT
-Befehl zu prüfen, ob die Bedingung des WHERE
-Clauses auch nur die gewünschten Zeilen betrifft:
Trifft dies nach Kontrolle zu kann das SELECT *
durch `DELETE
ersetzt werden. Auf diesem Weg lassen sich schwerwiegende Folgen von Flüchtigkeitsfehler minimieren.
Links und weitere Informationen
Hinweis zur Nachnutzung als Open Educational Resource (OER)
Dieses Werk und dessen Inhalte sind - sofern nicht angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: “DELETE Statements - Data Manipulation Language (SQL-DML)” von H. Stein (oer-informatik.de), Lizenz: CC BY 4.0. Die Quellen dieses Werks sind verfügbar auf https://gitlab.com/oer-informatik/db-sql/dml-basics.