关于ClickHouse的update和delete

  1. 删除数据

       ALTER TABLE [db.]table DELETE WHERE filter_expr
    
  2. 更新数据

      ALTER TABLE [db.]table UPDATE column1 = expr1 [, ...] WHERE filter_expr
    

注意:
1. 这两条命令必须在版本号大于1.1.54388才可以使用,适用于 mergeTree 引擎

2. 这两条命令是异步执行的,可以通过查看表 system.mutations 来查看命令的是否执行完毕
select * from system.mutations where table='test_update';

Row 1:
──────
database: test
table: test_update
mutation_id: mutation_162.txt
command: UPDATE event_status_key = 0 WHERE event_status_key = 22
create_time: 2018-10-12 12:39:32
block_numbers.partition_id: ['']
block_numbers.number: [162]
parts_to_do: 0
is_done: 1

3.不可以用于分布式表,需要在每台机器上的local表中来执行

参考:https://clickhouse.yandex/docs/en/query_language/alter/

 

你可能感兴趣的:(ClickHouse)