Middle
Was ist der Unterschied zwischen DELETE und TRUNCATE in SQL?
sobes.tech KI
Antwort von AI
Die Hauptunterschiede zwischen DELETE und TRUNCATE in SQL:
- DELETE löscht Zeilen aus einer Tabelle Zeile für Zeile und kann eine
WHERE-Bedingung haben. Die Operation wird protokolliert, was ein Rollback ermöglicht. - TRUNCATE löscht alle Zeilen aus der Tabelle vollständig, ohne eine Bedingung anzugeben. Es ist eine schnellere Operation, da sie das Löschen jeder Zeile nicht protokolliert, sondern die Datenseiten zurücksetzt.
Beispiel:
DELETE FROM users WHERE age < 18; -- löscht nur Nutzer unter 18
TRUNCATE TABLE users; -- löscht alle Nutzer auf einmal
Außerdem setzt TRUNCATE in der Regel die Auto-Inkrement-Zähler zurück, während DELETE dies nicht tut.