clickhouse语句_clickhouse基本语法

本文介绍了 ClickHouse 的 DDL 语句,包括 CREATE, ALTER, GRANT, REVOKE 和 DROP,并详细讲解了 TRUNCATE 表的使用,强调了它与 DELETE 的区别。还提到了 ClickHouse 对于分区表的支持以及数据同步、时间戳转换的方法。对于分区表的操作,如删除、下线、恢复和备份分区也有提及。" 139260605,1493609,Linux快速部署Alfresco 6教程,"['Linux运维', '服务器部署', '内容管理系统', '开源软件', 'Alfresco']
摘要由CSDN通过智能技术生成

DDL(DDL:数据定义语言,通常是数据库管理系统的一部分,用于定义数据库的所有特性和属性,尤其是行布局、列定义、键列(有时是选键方法)、文件位置和存储策略。 )

包括命令:

REATE(建表),

ALTER(添加),

GRANT(grant 操作 MySQL存储过程、函数权限,授权命令),

REVOKE(撤回),

DROP(删除),

**TRUNCATE(**删除表中的数据的方法有delete,truncate, 其中TRUNCATE TABLE用于删除表中的所有行,而不记录单个行删除操作。TRUNCATE TABLE 与没有 WHERE 子句的 DELETE 语句类似;但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少。)

当你不再需要该表时, 用 drop;当你仍要保留该表,但要删除所有记录时, 用 truncate;当你要删除部分记录时(always with a WHERE clause), 用 delete.

一、Truncate语法

[ { database_name.[ schema_name ]. | schema_name . } ]

table_name

[ ; ]

二、参数

database_name

数据库的名称。

schema_name

表所属架构的名称。

table_name

要截断的表的名称,或要删除其全部行的表的名称。

/clickhouse/task_queue/ddl

一个节点创建表,会同步到各个节点

CREATE TABLE db.table [ON CLUSTER cluster] (…)

添加、删除、修改列

ALTER TABLE [db].table [ON CLUSTER cluster] ADD|DROP|MODIFY COLUMN …

rename 支持*MergeTree和Distributed

rename table db.table1 to db.table2 [ON CLUSTER cluster]

truncate table db.table;不支持Distributed引擎

二、delete/update 不支持Distributed引擎

ALTER TABLE [db.]table DELETE WHERE filter_expr…

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

三、分区表

按时间分区:

toYYYYMM(EventDate):按月分区

toMonday(EventDate):按周分区

toDate(EventDate):按天分区

按指定列分区:

PARTITION BY cloumn_name

对分区的操作:

alter table test1 DROP PARTITION [partition] #删除分区

alter table test1 DETACH PARTITION [partition]#下线分区

alter table test1 ATTACH PARTITION [partition]#恢复分区

alter table .test1 FREEZE PARTITION [partition]#备份分区

四、数据同步

采用remote函数

insert into db.table select * from remote(‘目标IP’,db.table,‘user’,‘passwd’)

csv文件导入clickhouse

cat test.csv | clickhouse-client -u user --password password --query=“INSERT INTO db.table FORMAT CSV”

同步mysql库中表

CREATE TABLE tmp ENGINE = MergeTree ORDER BY id AS SELECT * FROM mysql(‘hostip:3306’, ‘db’, ‘table’, ‘user’, ‘passwd’) ;

4) clickhouse-copier 工具

五、时间戳转换

select toUnixTimestamp(‘2018-11-25 00:00:02’) --DateTime转化为时间戳

注意:可以指定时区,例如:select toUnixTimestamp(‘2018-11-25 00:00:02’,‘Asia/Shanghai’)

select toDateTime(1543075202) --时间戳转化为DateTime

select toDateTime(‘2018-04-30 00:00:00’) --转化为DateTime的标准格式

结果:2018-04-30T00:00:00+00:00

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值