Pular para o conteúdo principal
TRUNCATE permite remover os dados de uma tabela ou banco de dados, preservando a tabela ou o banco de dados. Esta é uma operação leve que não pode ser revertida. A instrução TRUNCATE no ClickHouse é usada para remover rapidamente todos os dados de uma tabela ou de um banco de dados, preservando sua estrutura.

TRUNCATE TABLE

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

ParameterDescrição
IF EXISTSEvita um erro se a tabela não existir. Se omitido, a consulta gera um erro.
db.nameNome opcional do banco de dados.
ON CLUSTER clusterExecuta o comando em todo o cluster especificado.
SYNCTorna o truncamento síncrono entre réplicas ao usar tabelas replicadas. Se omitido, o truncamento ocorre de forma assíncrona por padrão.
Você pode usar a configuração alter_sync para configurar a espera pela execução de ações nas réplicas. Você pode especificar por quanto tempo (em segundos) esperar que réplicas inativas executem consultas TRUNCATE com a configuração replication_wait_for_inactive_replica_timeout.
Se alter_sync estiver definido como 2 e algumas réplicas permanecerem inativas por mais tempo do que o especificado pela configuração replication_wait_for_inactive_replica_timeout, uma exceção UNFINISHED será gerada.
A consulta TRUNCATE TABLE não é compatível com os seguintes motores de tabela:

TRUNCATE DE TODAS AS TABELAS

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

ParâmetroDescrição
ALLRemove os dados de todas as tabelas do banco de dados.
IF EXISTSEvita um erro se o banco de dados não existir.
dbO nome do banco de dados.
LIKE | ILIKE | NOT LIKE '<pattern>'Filtra as tabelas por padrão.
ON CLUSTER clusterExecuta o comando em um cluster.
Remove todos os dados de todas as tabelas de um banco de dados.

TRUNCATE DATABASE

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

ParâmetroDescrição
IF EXISTSEvita um erro se o banco de dados não existir.
dbO nome do banco de dados.
ON CLUSTER clusterExecuta o comando em todos os nós do cluster especificado.
Remove todas as tabelas de um banco de dados, mas mantém o próprio banco de dados. Quando a cláusula IF EXISTS é omitida, a consulta retorna um erro se o banco de dados não existir.
TRUNCATE DATABASE não tem suporte para bancos de dados Replicated. Em vez disso, basta executar DROP e CREATE no banco de dados.
Última modificação em 10 de junho de 2026