Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

TRUNCATE

Оператор TRUNCATE в ClickHouse позволяет быстро удалить все данные из таблицы или базы данных, сохранив их структуру.

TRUNCATE TABLE

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

Параметр Описание
IF EXISTS Предотвращает ошибку, если таблица не существует. Если этот параметр опущен, запрос возвращает ошибку.
db.name Необязательное имя базы данных.
ON CLUSTER cluster Выполняет команду на указанном кластере.
SYNC Делает усечение синхронным на репликах при использовании реплицируемых таблиц. Если этот параметр опущен, по умолчанию усечение выполняется асинхронно.

Вы можете использовать настройку alter_sync, чтобы задать ожидание выполнения действий на репликах.

Вы можете указать, как долго (в секундах) ждать выполнения запросов TRUNCATE на неактивных репликах, с помощью настройки replication_wait_for_inactive_replica_timeout.

Запрос 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]

Параметр Описание
IF EXISTS Предотвращает ошибку, если база данных не существует.
db Имя базы данных.
ON CLUSTER cluster Выполняет команду на всём указанном кластере.

Удаляет все таблицы из базы данных, но сохраняет саму базу данных. Если предложение IF EXISTS не указано, запрос вернёт ошибку, если база данных не существует.

Navigation