You need to enable JavaScript to run this app.
ByteHouse 企业版

ByteHouse 企业版

复制全文
DML
删除语句 (DELETE)
复制全文
删除语句 (DELETE)

如需在 ByteHouse 中删除数据,可通过 ALTER DELETE 方式,更多操作详情请参考删除操作(DELETE)

注意

  • 对于 HaMergeTree 表,delete where 只能在本地(local)表上操作,不支持在分布式表操作。
  • 仅 ByteHouse 企业版 v2.4 及以上版本支持 delete where 语法。
  • 如果您使用的是 HaUniqueMergeTree 和 HaMergeTree 表,且需大量删除数据,推荐使用 FAST DELETE,详情请参见FAST DELETE

语法

ALTER TABLE [tableIdentifier] DELETE [IN PARTITION partition_id] WHERE filter_expr;

参数说明
IN PARTITION partition_id:可选,如果表数据量较大,或者表的 part 数量较多,建议添加该条件,分区级别执行 delete 操作,更快、更稳定。

示例

-- 1. 创建库
CREATE DATABASE IF NOT EXISTS sample_db ON CLUSTER sample_cluster;

-- 2. 创建测试表
DROP TABLE IF EXISTS sample_db.sample_table_local ON CLUSTER sample_cluster;
DROP TABLE IF EXISTS sample_db.sample_table ON CLUSTER sample_cluster;
CREATE TABLE IF NOT EXISTS sample_db.sample_table_local ON CLUSTER sample_cluster
(
    `order_by_column` String,
    `partition_column` Date,
    `browser` String,
    `hour` Int32,
    `x` Int32,
    `p` Int32
) ENGINE = HaMergeTree('/clickhouse/tables/{shard}/{database}/local_table_name', '{replica}')
PARTITION BY partition_column
ORDER BY (`order_by_column`);

CREATE TABLE sample_db.sample_table
    AS sample_db.sample_table_local
    ENGINE = Distributed(sample_cluster, sample_db, sample_table_local, hour);

-- 3. 插入数据
INSERT INTO sample_db.sample_table_local ON CLUSTER sample_cluster
VALUES
('order1', '2020-11-21', 'chrome', 8, 10, 2),
('order2', '2020-11-02', 'chrome', 8, 10, 2),
('order3', '2020-10-05', 'firefox', 9, 20, 2);

-- 4. 删除数据
ALTER TABLE sample_db.sample_table_local ON CLUSTER sample_cluster 
    DELETE WHERE browser = 'firefox';
最近更新时间:2025.12.12 10:31:26
这个页面对您有帮助吗?
有用
有用
无用
无用