Перейти к основному содержанию
TRUNCATE удаляет данные из таблицы или базы данных, сохраняя при этом саму таблицу или базу данных. Это быстрая операция, которую нельзя отменить. Оператор TRUNCATE в ClickHouse используется для быстрого удаления всех данных из таблицы или базы данных с сохранением их структуры.

TRUNCATE TABLE

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

ParameterОписание
IF EXISTSПредотвращает ошибку, если таблица не существует. Если этот параметр не указан, запрос возвращает ошибку.
db.nameНеобязательное имя базы данных.
ON CLUSTER clusterВыполняет команду на всём указанном кластере.
SYNCДелает операцию усечения синхронной на всех репликах при использовании реплицируемых таблиц. Если этот параметр не указан, по умолчанию усечение выполняется асинхронно.
Вы можете использовать настройку alter_sync, чтобы настроить ожидание выполнения действий на репликах. С помощью настройки replication_wait_for_inactive_replica_timeout можно указать, как долго (в секундах) ждать, пока неактивные реплики выполнят запросы TRUNCATE.
Если для alter_sync установлено значение 2 и некоторые реплики остаются неактивными дольше времени, заданного настройкой replication_wait_for_inactive_replica_timeout, будет сгенерировано исключение UNFINISHED.
Запрос TRUNCATE TABLE не поддерживается для следующих движков таблиц:

TRUNCATE ВСЕ ТАБЛИЦЫ

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

ПараметрОписание
ALLУдаляет данные из всех таблиц в базе данных.
IF EXISTSПредотвращает ошибку, если база данных не существует.
dbИмя базы данных.
LIKE | ILIKE | NOT LIKE '<pattern>'Фильтрует таблицы по шаблону.
ON CLUSTER clusterВыполняет команду на всем кластере.
Удаляет все данные из всех таблиц в базе данных.

TRUNCATE DATABASE

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

ParameterОписание
IF EXISTSПредотвращает ошибку, если база данных не существует.
dbИмя базы данных.
ON CLUSTER clusterВыполняет команду во всём указанном кластере.
Удаляет все таблицы из базы данных, но сохраняет саму базу данных. Если предложение IF EXISTS опущено, запрос вернёт ошибку, если база данных не существует.
TRUNCATE DATABASE не поддерживается для баз данных Replicated. Вместо этого просто выполните DROP и CREATE базы данных.
Последнее изменение 10 июня 2026 г.