Passer au contenu principal
Truncate permet de supprimer les données d’une table ou d’une base de données sans supprimer la table ou la base elle-même. Il s’agit d’une opération légère qui ne peut pas être annulée. L’instruction TRUNCATE dans ClickHouse permet de supprimer rapidement toutes les données d’une table ou d’une base de données, tout en en préservant la structure.

TRUNCATE TABLE

TRUNCATE TABLE [IF EXISTS] [db.]name [ON CLUSTER cluster] [SYNC]

ParamètreDescription
IF EXISTSEmpêche une erreur si la table n’existe pas. Si cette clause est omise, la requête renvoie une erreur.
db.nameNom de la base de données facultatif.
ON CLUSTER clusterExécute la commande sur le cluster spécifié.
SYNCRend le tronquage synchrone sur les répliques lors de l’utilisation de tables répliquées. Si cette clause est omise, le tronquage est asynchrone par défaut.
Vous pouvez utiliser le paramètre alter_sync pour configurer l’attente de l’exécution des actions sur les répliques. Vous pouvez spécifier combien de temps attendre (en secondes) que des répliques inactives exécutent des requêtes TRUNCATE avec le paramètre replication_wait_for_inactive_replica_timeout.
Si alter_sync est défini sur 2 et que certaines répliques restent inactives au-delà de la durée spécifiée par le paramètre replication_wait_for_inactive_replica_timeout, une exception UNFINISHED est levée.
La requête TRUNCATE TABLE n’est pas prise en charge pour les moteurs de table suivants :

TRUNCATE de toutes les tables

TRUNCATE [ALL] TABLES FROM [IF EXISTS] db [LIKE | ILIKE | NOT LIKE '<pattern>'] [ON CLUSTER cluster]

ParamètreDescription
ALLSupprime les données de toutes les tables de la base de données.
IF EXISTSÉvite une erreur si la base de données n’existe pas.
dbLe nom de la base de données.
LIKE | ILIKE | NOT LIKE '<pattern>'Filtre les tables selon un motif.
ON CLUSTER clusterExécute la commande sur l’ensemble du cluster.
Supprime toutes les données de toutes les tables d’une base de données.

TRUNCATE DATABASE

TRUNCATE DATABASE [IF EXISTS] db [ON CLUSTER cluster]

ParamètreDescription
IF EXISTSÉvite une erreur si la base de données n’existe pas.
dbNom de la base de données.
ON CLUSTER clusterExécute la commande sur l’ensemble d’un cluster donné.
Supprime toutes les tables d’une base de données, tout en conservant la base de données elle-même. Lorsque la clause IF EXISTS est omise, la requête renvoie une erreur si la base de données n’existe pas.
TRUNCATE DATABASE n’est pas pris en charge pour les bases de données Replicated. À la place, il suffit de DROP, puis de CREATE la base de données.
Dernière modification le 29 juin 2026