跳转到主要内容
Truncate 可删除表或数据库中的数据,同时保留表或数据库本身。这是一种轻量级操作,且无法撤销。 ClickHouse 中的 TRUNCATE 语句用于在保留表或数据库结构的同时,快速删除其中的所有数据。

TRUNCATE TABLE


你可以使用 alter_sync 设置来配置等待副本上的操作执行完成。 你可以使用 replication_wait_for_inactive_replica_timeout 设置来指定等待非活动副本执行 TRUNCATE 查询的时长 (以秒为单位) 。
如果 alter_sync 设置为 2,且某些副本非活动的时间超过 replication_wait_for_inactive_replica_timeout 设置指定的时长,则会抛出 UNFINISHED 异常。
以下表引擎 不支持 TRUNCATE TABLE 查询:

对所有表执行 TRUNCATE


删除数据库中所有表的全部数据。

TRUNCATE DATABASE


删除数据库中的所有表,但保留数据库本身。省略 IF EXISTS 子句时,如果数据库不存在,查询会返回错误。
TRUNCATE DATABASE 不支持 Replicated 数据库。请改为直接对该数据库执行 DROPCREATE
最后修改于 2026年6月12日