Informatik by Patrik

Was macht TRUNCATE TABLE in SQL?

TRUNCATE TABLE einfach erklärt

Der SQL-Befehl TRUNCATE TABLE löscht alle Zeilen einer Tabelle auf einmal – schnell und effizient. Im Gegensatz zu DELETE, das jede Zeile einzeln entfernt, leert TRUNCATE die Tabelle, ohne ihre Struktur zu verändern.

Das bedeutet: Spalten, Datentypen, Indizes und Berechtigungen bleiben bestehen. Nur die Inhalte verschwinden.

Wann sollte man TRUNCATE verwenden?

TRUNCATE TABLE eignet sich, wenn

  • du eine Tabelle komplett leeren möchtest,
  • du keine WHERE-Bedingung brauchst,
  • und Geschwindigkeit wichtig ist.

Beispiel:

 
TRUNCATE TABLE kunden;

Dieser Befehl entfernt alle Datensätze aus der Tabelle kunden – blitzschnell und mit minimalem Speicheraufwand.

Wichtige Unterschiede zu DELETE

Aspekt TRUNCATE TABLE DELETE FROM
Kann WHERE verwenden? Nein Ja
Geschwindigkeit Sehr schnell Langsamer
Rücksetzbar (Rollback möglich)? Nur in Transaktion Ja
Löst Trigger aus? Meist nein Ja
Setzt AUTO_INCREMENT zurück? Ja (je nach DB) Nein

Wichtige Hinweise

  • TRUNCATE kann nicht verwendet werden, wenn andere Tabellen über Fremdschlüssel auf diese Tabelle verweisen.
  • In vielen Systemen gilt TRUNCATE als DDL-Befehl (Data Definition Language), ähnlich wie CREATE oder DROP.
  • Eine gute Praxis ist, TRUNCATE nur auf temporären oder Hilfstabellen zu verwenden, wenn du sicher bist, dass keine Daten benötigt werden.
SQL
Datenbanken
TRUNCATE
Grundlagen
Performance

Comments