TRUNCATE – polecenie języka SQL.
TRUNCATE TABLE jest poleceniem należącym do DDL, które oznacza obszar wymienionej w poleceniu tabeli do dealokacji (jako pustą do ponownego użycia). Przeprowadzenie operacji TRUNCATE powoduje szybkie usunięcie danych z tabeli, zazwyczaj z pominięciem mechanizmów wymuszających integralność danych. Polecenie zostało oficjalnie wprowadzone w standardzie SQL:2008.
Polecenie TRUNCATE TABLE nazwa_tabeli jest logicznie, ale nie fizycznie, identyczne z poleceniem DELETE FROM nazwa_tabeli (bez użycia WHERE). Polecenia TRUNCATE i DELETE różnią się następującymi cechami:
Do standardu SQL należą także klauzule RESTART IDENTITY oraz CONTINUE IDENTITY, które zerują, bądź zachowują sekwencję przypisaną do tabeli.
TRUNCATE TABLE nazwa_tabeli RESTART IDENTITY;
Za pomocą polecenia TRUNCATE istnieje również możliwość usunięcia danych z tabel powiązanych za pomocą kluczy obcych:
TRUNCATE nazwa_tabeli CASCADE;