Niedrig📊 17% Prüfungs-Häufigkeit
DELETE
Daten löschen – inkl. Abgrenzung zu TRUNCATE und Foreign-Key-Folgen.
Warum Priorität „Niedrig"? Selten oder als Randthema (unter 40%). Überblick reicht meist.
Lernziele
- DELETE-Statements mit Filter schreiben
- Unterschied DELETE vs. TRUNCATE benennen
- Auswirkungen von Fremdschlüssel-Constraints verstehen
1. Syntax
sql
DELETE FROM tabelle
WHERE bedingung;2. DELETE vs. TRUNCATE vs. DROP
| Befehl | Was passiert? | Rollback? |
|---|---|---|
DELETE FROM t | Zeilen löschen, Struktur bleibt | ja (DML, transaktional) |
TRUNCATE TABLE t | Zeilen löschen, ID-Counter reset, Struktur bleibt | abhängig vom DBMS, meist nein |
DROP TABLE t | Tabelle selbst gelöscht | nein |
3. Mit Fremdschlüsseln
Wird versucht, eine Zeile zu löschen, auf die ein FK verweist, hängt das Verhalten von der Constraint ab:
- RESTRICT / NO ACTION (Default): DELETE verweigert.
- CASCADE: Abhängige Zeilen werden ebenfalls gelöscht.
- SET NULL: FK-Spalte in abhängigen Zeilen wird auf NULL gesetzt.
Übungen
SQL-ÜbungLösche alle inaktiven Kunden (Spalte `aktiv = FALSE`).
Eine AntwortWelche Aussage zu TRUNCATE TABLE stimmt?