[大数据学习之ClickHouse]05-ClickHouse之SQL操作

传统关系型数据库支持的SQL语句,CLK基本都支持

1.insert

语法一致,不过多做讲解

2.UpDate/Delete

CLK支持修改和删除操作,但是不支持事务,并且语法和传统数据库有区别,删除和修改用的比较少一点

删除:

alter table t_order_smt delete where sku_id ='sku_001';

修改:

alter table t_order_smt update total_amount=toDecimal32(2000.00,2) where id =102;

3.查询操作

语法基本和传统数据库一致(MYSQL)

支持子查询/支持with内存临时表/支持JOIN/暂不支持窗口函数/暂不支持自定义函数 CLK的group
by增加了多维度分析的操作,类似于HIVE的grouping set

with rollup:
上卷,从右到左,以此去掉维度进行小计,但是展示的时候是从左到右
EX:

select id , sku_id,sum(total_amount) from t_order_mt group by id,sku_id with rollup;

会出现三种情况,但是只会产出一个结果集(union all起来了)
1.按照group by id产出一个结果集
2.按照group by sku_id产出一个结果集
3.按照group by null(其实就是简单的聚合(聚合依据是sql中的count/sum/xxxx))产出一个结果集

[大数据学习之ClickHouse]05-ClickHouse之SQL操作_第1张图片

with cube:
多维度统计,从右到左,从左至右边,将所有组合结果展现出来

select id , sku_id,sum(total_amount) from t_order_mt group by id,sku_id with cube;

[大数据学习之ClickHouse]05-ClickHouse之SQL操作_第2张图片

with totals:
gourp by null,只计算合计

4.alter操作

和MYSQL语法基本一致,不多做阐述
1.新增字段

alter table tableName add column newcolname String after col1;

2.修改字段类型

alter table tableName modify column newcolname String;

3.删除字段

alter table tableName drop column newcolname;

你可能感兴趣的:(BigData,sql,big,data,学习)