Clickhouse的基本sql语句

1,建库语句

create database if not exists mytestdb on cluster default_cluster;

注意:用户在集群中创建数据库或者表时使用ON CLUSTER语句,保证各个ClickHouse节点上数据库、表的元信息相同。

2,建表

-- 创建复制表
create table mytestdb.test_log3 on cluster default_cluster(id UInt32,user_id String,app_id String,create_time String) ENGINE=ReplicatedMergeTree(‘/clickhouse/tables/{shard}/mytestdb.test_log3’,’{replica}) order by id;

-- 创建分布式表
create table mytestdb.test_log3_all on cluster default_cluster as mytestdb.test_log3 ENGINE=Distributed(‘default_cluster’,’mytestdb’,’test_log3’,rand());

注意:需要同时建本地表和分布式表,建表时需要加cluster

3,查询数据

select * from mytestdb.test_log3_all

注意: 查询写入都用分布式表, 写入也可以用本地表,结合replied复制的特性也会自己在副本表复制数据的。

通常都可以使用这个引擎:
ReplicatedMergeTree(/clickhouse/tables/{shard}/default/test’,’{replica}’);

4,删除数据

alter table xbtx.xbtx_func_tb on cluster default_cluster delete where app_id=’com.sinosure.xbt’;

注意:删除时不要操作分布式表,操作本地表

5,更新数据

alter table xbtx.xbtx_func_tb on cluster default_cluster update func_name=’公文’ where id=’gongwen’;

6,新增数据

insert into xbtx.xbtx_func_tb_all(id,func_name,app_id) values('xxxx','xxxx','xxxx');

7,删除表

-- 删除本地表:
drop table mytestdb.xbtx_app_log_tb on cluster default_cluster no delay;
-- 删除分布式表:
drop table mytestdb.xbtx_app_log_tb_all on cluster default_cluster no delay;

注意: 删除表时需要加on cluster

8、修改表字段类型

alter table 数据库名.数据表名 MODIFY COLUMN 字段名 字段类型```
-- 加on cluster default
alter table 数据库名.数据表名 on cluster default_cluster modify column 字段名 字段类型

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值