Frage №10
Verbleibend:
Was sind die wichtigsten Unterschiede zwischen DELETE und TRUNCATE?
Musterantwort
Antwort standardmäßig anzeigen
DELETE:
- Löscht ausgewählte Datensätze aus einer Tabelle.
- Du kannst eine WHERE-Bedingung verwenden, um gezielt Datensätze zu entfernen.
- Die Operation wird zeilenweise im Transaktionslog aufgezeichnet.
- ON DELETE-Trigger werden ausgelöst.
- Langsamer als TRUNCATE.
Beispiel:
MySQL 8.1DELETE FROM employees WHERE salary < 30000;
TRUNCATE:
- Löscht alle Datensätze aus der Tabelle, ohne Möglichkeit zur Wiederherstellung per ROLLBACK (in den meisten DBMS).
- WHERE kann nicht verwendet werden.
- Die Operation ist schneller, da sie nicht zeilenweise protokolliert wird.
- Setzt Identifier zurück (falls Autoincrement verwendet wird).
- Trigger werden nicht ausgelöst.
Beispiel:
MySQL 8.1TRUNCATE TABLE employees;