Перейти к основному содержанию
Перейти к основному содержанию

Инструкция ALTER TABLE ... DELETE

ALTER TABLE [db.]table [ON CLUSTER cluster] DELETE WHERE filter_expr

Удаляет данные, соответствующие указанному фильтрующему выражению. Реализовано как мутация.

Примечание

Префикс ALTER TABLE делает этот синтаксис отличным от большинства других систем, поддерживающих SQL. Он используется для обозначения того, что, в отличие от аналогичных запросов в OLTP-базах данных, это ресурсоёмкая операция, не предназначенная для частого использования. ALTER TABLE считается тяжёлой операцией, которая требует слияния лежащих в основе данных перед их удалением. Для таблиц MergeTree рассмотрите использование запроса DELETE FROM, который выполняет «лёгкое» удаление и может быть значительно быстрее.

filter_expr должен иметь тип UInt8. Запрос удаляет строки в таблице, для которых это выражение принимает ненулевое значение.

Один запрос может содержать несколько команд, разделённых запятыми.

Синхронность обработки запроса определяется настройкой mutations_sync. По умолчанию обработка асинхронная.

См. также