Sobes.tech
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.