1.查看所有的数据库
show databases;
2.创建库
CREATE DATABASE zabbix ENGINE = Ordinary;
ATTACH DATABASE ck_test ENGINE = Ordinary;
3.创建本地表
CREATE TABLE IF NOT EXISTS test01(
id UInt64,
name String,
time UInt64,
age UInt8,
flag UInt8
)
ENGINE = MergeTree
PARTITION BY toDate(time/1000)
ORDER BY (id,name)
SETTINGS index_granularity = 8192
4.查看表结构
--查看表结构 desc dis_table;
desc `default`.test_enum
5如何使用表引擎
--3.1 TinyLog
create table t_tinylog ( id String, name String) engine=TinyLog;
--3.2 Memory
create table t_memory(id Int16, name String) engine=Memory;
insert into t_memory values(1, 'lisi');
--3.3 MergeTree
create table t_order_mt(
id UInt32,
sku_id String,
total_amount Decimal(16,2),
create_time Datetime
) engine=MergeTree
partition by toYYYYMMDD(create_time)
primary key (id)
order by (id,sku_id)
insert into t_order_mt
values(101,'sku_001',1000.00,'2023-08-01 12:00:00') ,
(102,'sku_002',2000.00,'2023-08-01 11:00:00'),
(102,'sku_004',2500.00,'2023-08-01 12:00:00'),
(102,'sku_002',2000.00,'2023-08-01 13:00:00')
(102,'sku_002',12000.00,'2023-08-01 13:00:00')
(102,'sku_002',600.00,'2023-08-02 12:00:00');
--3.3.4 数据TTL
create table t_order_mt3(
id UInt32,
sku_id String,
total_amount Decimal(16,2) TTL create_time+interval 10 SECOND,
create_time Datetime
) engine =MergeTree
partition by toYYYYMMDD(create_time)
primary key (id)
order by (id, sku_id)
insert into t_order_mt3
values(106,'sku_001',1000.00,'2021-01-16 10:58:30') ,
(107,'sku_002',2000.00,'2020-06-12 22:52:30'),
(110,'sku_003',600.00,'2021-01-17 12:00:00')
--3.4 ReplacingMergeTree
---建表
create table t_order_rmt(
id UInt32,
sku_id String,
total_amount Decimal(16,2) ,
create_time Datetime
) engine =ReplacingMergeTree(create_time)
partition by toYYYYMMDD(create_time)
primary key (id)
order by (id, sku_id);
---插入数据
insert into t_order_rmt
values(101,'sku_001',1000.00,'2020-06-01 12:00:00') ,
(102,'sku_002',2000.00,'2020-06-01 11:00:00'),
(102,'sku_004',2500.00,'2020-06-01 12:00:00'),
(102,'sku_002',2000.00,'2020-06-01 13:00:00')
(102,'sku_002',12000.00,'2020-06-01 13:00:00')
(102,'sku_002',600.00,'2020-06-02 12:00:00')
--执行合并
optimize table t_order_rmt final;
--3.5 SummingMergeTree
---建表
create table t_order_smt(
id UInt32,
sku_id String,
total_amount Decimal(16,2) ,
create_time Datetime
) engine =SummingMergeTree(total_amount)
partition by toYYYYMMDD(create_time)
primary key (id)
order by (id,sku_id )
--插入数据
insert into t_order_smt
values(101,'sku_001',1000.00,'2020-06-01 12:00:00') ,
(102,'sku_002',2000.00,'2020-06-01 11:00:00'),
(102,'sku_004',2500.00,'2020-06-01 12:00:00'),
(102,'sku_002',2000.00,'2020-06-01 13:00:00')
(102,'sku_002',12000.00,'2020-06-01 13:00:00')
(102,'sku_002',600.00,'2020-06-02 12:00:00');
ClickHouse SQL与引擎--基本使用(一)