Truncate Table
Truncate allows the data in a table or database to be removed, while preserving their existence. This is a lightweight operation which cannot be reversed.
TRUNCATE Statements
TRUNCATE TABLE
TRUNCATE TABLE [IF EXISTS] [db.]name [ON CLUSTER cluster]
Removes all data from a table. When the clause IF EXISTS
is omitted, the query returns an error if the table does not exist.
The TRUNCATE
query is not supported for View, File, URL, Buffer and Null table engines.
You can use the alter_sync setting to set up waiting for actions to be executed on replicas.
You can specify how long (in seconds) to wait for inactive replicas to execute TRUNCATE
queries with the replication_wait_for_inactive_replica_timeout setting.
If the alter_sync
is set to 2
and some replicas are not active for more than the time, specified by the replication_wait_for_inactive_replica_timeout
setting, then an exception UNFINISHED
is thrown.
TRUNCATE ALL TABLES
TRUNCATE ALL TABLES FROM [IF EXISTS] db [ON CLUSTER cluster]
Removes all data from all tables in a database.
TRUNCATE DATABASE
TRUNCATE DATABASE [IF EXISTS] db [ON CLUSTER cluster]
Removes all tables from a database but keeps the database itself. When the clause IF EXISTS
is omitted, the query returns an error if the database does not exist.