Passer au contenu principal
Dans ClickHouse, l’instruction TRUNCATE 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]

ParameterDescription
IF EXISTSEmpêche une erreur si la table n’existe pas. Si elle est omise, la requête renvoie une erreur.
db.nameNom de base de données facultatif.
ON CLUSTER clusterExécute la commande sur l’ensemble d’un cluster spécifié.
SYNCRend la troncature synchrone sur les répliques lors de l’utilisation de tables répliquées. Si elle est omise, la troncature s’effectue de manière 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 (en secondes) attendre l’exécution des requêtes TRUNCATE par des répliques inactives 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 plus longtemps que 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]

ParameterDescription
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]

ParameterDescription
IF EXISTSÉvite une erreur si la base de données n’existe pas.
dbLe nom de la base de données.
ON CLUSTER clusterExécute la commande sur le cluster spécifié.
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, supprimez la base de données avec DROP, puis recréez-la avec CREATE.
Dernière modification le 25 juin 2026