TRUNCATE je v oblasti databázípříkazSQL pro smazání všech záznamů z tabulky.
Vlastnosti
Vyprázdnění dat pomocí TRUNCATE je mnohem rychlejší než mazání pomocí DELETE.
Na rozdíl od příkazu DROP TABLE po TRUNCATE zůstane v databázi struktura dané tabulky.
TRUNCATE vyprázdní všechny záznamy dané tabulky (tabulek), podobně jako zrušení tabulky a její následné znovuvytvoření. (Z toho důvodu příkaz vyžaduje práva pro rušení a vytváření tabulek.)
Pokud tabulka obsahuje primární klíč s vlastností AUTO_INCREMENT, je jeho hodnota resetována na jedničku. To je též rozdíl od příkazu DELETE * FROM TABLE.
TRUNCATE aktuálně není součástí žádného standardu SQL, ale mnoho (možná většina) databázových systémů jej podporuje.
V případě MySQL je počet ovlivněných záznamů po provedení příkazu TRUNCATE roven nule, bez ohledu na to, kolik záznamů bylo ve skutečnosti smazáno (tj. neindikuje to, že by příkaz selhal).