1.增
ch数据的增加和普通SQL相同,每一条插入的数据都需要和表的列名相对应,数据的增加可以在分布式表(使用DISTRIBUTED引擎)上执行
insert into [db.]tableName [(c1,c2...)] values
(v11,v12...),
(v21,v22...);
2.删
如果是分布式部署,需要在每个节点对本地表(除DISTRIBUTED引擎之外的表)执行删除操作,不然使用分布式表查询时仍会有数据存在
2.1按分区删除
alter table [db.]tableName drop partition '分区字段';
2.2按条件删除
alter table [db.]tableName delete where filter_column = ??;
3.改
注意数据的修改需要在事实表上执行,无需多个节点执行。注意更新的数据字段不能是该表的分区字段即c1,c2不能是tableName的partition by字段
alter table [db.]tableName update c1 = v1, c2 = v2,... where filter_column = ??;
更新限制:
- 索引列不能进行更新
- 分布式表不能进行更新
- 该命令是异步执行的,可以通过查看表 system.mutations 来查看命令的是否执行完毕
4.查
和普通的SQL查询语句相同
select c1,c2,... from [db.]tableName where filter_column = ??;