> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ALTER TABLE ... DELETE 语句文档

# ALTER TABLE ... DELETE 语句

```sql theme={null}
ALTER TABLE [db.]table [ON CLUSTER cluster] DELETE WHERE filter_expr
```

删除与指定过滤 expression 匹配的数据。此操作通过 [变更](/zh/reference/statements/alter#mutations) 实现。

<Note>
  `ALTER TABLE` 前缀使这种语法不同于大多数其他支持 SQL 的系统。这样设计是为了表明，与 OLTP 数据库中的类似查询不同，这是一项不适合频繁使用的重型操作。`ALTER TABLE` 被视为一种重量级操作，要求在删除底层数据之前先将其合并。对于 MergeTree 表，建议考虑使用 [`DELETE FROM` 查询](/zh/reference/statements/delete)，它执行的是轻量级删除，通常会快得多。
</Note>

`filter_expr` 必须是 `UInt8` 类型。该查询会删除表中此 expression 取非零值的行。

单个查询可以包含多个以逗号分隔的命令。

查询处理的同步性由 [mutations\_sync](/zh/reference/settings/session-settings#mutations_sync) 设置定义。默认情况下，它是异步的。

**另请参见**

* [变更](/zh/reference/statements/alter#mutations)
* [ALTER 查询的同步性](/zh/reference/statements/alter#synchronicity-of-alter-queries)
* [mutations\_sync](/zh/reference/settings/session-settings#mutations_sync) 设置

<div id="related-content">
  ## 相关内容
</div>

* 博客：[在 ClickHouse 中处理更新和删除操作](https://clickhouse.com/blog/handling-updates-and-deletes-in-clickhouse)
