Clickhouse常用整理& linux操作clickhouse命令
进入click(不加上-m的话,进入之后只能一次写一行,不能建表)
clickhouse client -m
查看数据库
show databases;
创建一个数据库
create database db_doit;
删除数据库
drop database db_doit;
查看表
show tables;
查看当前使用的数据库
select currentDatabase();
创建一个表(建表的时候指定数据类型,建表的时候一定要指定表引擎)
create table tb_user(
uid Int32,
name String,
age UInt32,
gender String
)engine = TinyLog;
查看表的结构
desc tb_user;
插入语句
1 insert into tb_user values(1,'hello',23,'M'); 2 insert into tb_user values(2,'上海',33,'F');
查看表
select * from tb_user;
DateTime(以下三种都可以)
1 create table tb_date1( 2 timestamp DateTime 3 )engine = TinyLog; 4 5 create table tb_date2( 6 date timestamp 7 )engine = TinyLog; 8 9 create table tb_date3( 10 datetime date 11 )engine = TinyLog;
插入时间
insert into tb_date values('2020-08-24 21:06:00');
Enum 枚举(定义常量)
1 create table tb_enum( 2 m Enum('hello'=1,'world'=2) 3 )engine = TinyLog; 4 5 insert into tb_enum values('hello'),('world'),('hello'); 6 7 select cast(m,'Int8') from tb_enum;
将hello ,world 转为Int8类型
1 数组(Array(数据类型)) 2 create table tb_array( 3 name String, 4 hobby Array(String) 5 )engine = TinyLog; 6 7 **插入** 8 9 insert into tb_array values('你好',['h','l','hello']); 10 11 **数组有角标,然后是从1开始** 12 13 select name ,hobby[2] from tb_array;
MegerTree建表
1 需要主键,排序字段 ( primary key , order by) 两个一致 2 3 create table tb_megertree( 4 uid Int32, 5 name String, 6 age UInt8, 7 birthday Date, 8 gender String) 9 engine=MergeTree() 10 order by uid;
插入数据
1 insert into tb_megertree values(2,'李白',60,'123324435','M'); 2 insert into tb_megertree values(24,'杜甫',59,1234567,'M'), (3,'李清照',55,1234323,'F'); 3 4 insert into tb_megertree values(6,'徐志摩',50,'333324435','M'); 5 6 partition : 分区 7 create table tb_partition( 8 uid Int8, 9 address String 10 ) 11 engine=MergeTree() 12 order by uid 13 partition by address; 14 15 insert into tb_partition values(3,'北京'),(5,'北京'),(1,'上海'),(7,'北京'),(30,'北京'),(11,'上海');
再插入
1 insert into tb_partition values(33,'上海'),(53,'北京'),(13,'上海');
再合并
optimize table tb_partition;
optimize table tb_partition;
一次合并一个分区,执行两次分区全部合并ReplacingMergeTree删除区内主键相同的数据 保留指定的字段中的最大版本