Grundlagen der Datenbanken
Was ist das Ergebnis, wenn in SQL DELETE FROM Mitarbeiter ohne WHERE-Klausel ausgeführt wird?
- AAlle Zeilen der Mitarbeitertabelle werden gelöscht, und eine leere Tabelle bleibt zurück
- BDie Tabelle selbst wird gelöscht, und auch ihre Definition verschwindet
- CDa keine WHERE-Klausel vorhanden ist, tritt ein Fehler auf, und nichts wird gelöscht
Antwort und Erläuterung anzeigen
Antwort: A. Alle Zeilen der Mitarbeitertabelle werden gelöscht, und eine leere Tabelle bleibt zurück
DELETE ist eine DML-Anweisung, die Zeilen aus einer Tabelle entfernt. Mit einer Bedingung in der WHERE-Klausel werden nur die passenden Zeilen gelöscht; fehlt die WHERE-Klausel, wird jede Zeile gelöscht. Auch wenn DELETE alle Zeilen entfernt hat, bleibt die Tabellendefinition (Spaltennamen, Typen und Integritätsbedingungen) erhalten, sodass danach wieder Zeilen mit INSERT eingefügt werden können. Die Tabelle selbst samt Definition löscht die DDL-Anweisung DROP TABLE Mitarbeiter. Dasselbe gilt für UPDATE: Wird die WHERE-Klausel vergessen, wird jede Zeile überschrieben; daher ist es wichtig, die Bedingung vor der Ausführung zu prüfen. Innerhalb einer Transaktion lässt sich die Änderung vor dem COMMIT mit ROLLBACK verwerfen.