ClickHouse SQL与引擎--基本使用(一)

1.查看所有的数据库

sql 复制代码
show databases;

2.创建库

sql 复制代码
CREATE DATABASE zabbix ENGINE = Ordinary;
ATTACH DATABASE ck_test ENGINE = Ordinary;

3.创建本地表

sql 复制代码
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.查看表结构

sql 复制代码
--查看表结构 desc dis_table;
desc  `default`.test_enum

5如何使用表引擎

sql 复制代码
--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与引擎--基本使用(一)

相关推荐
阿坤带你走近大数据1 天前
ClickHouse的介绍
clickhouse
南修子3 天前
【Flink 30天】Day24-27 实时数仓规范:ODS→DWD→DWS→ADS 分层 + Temporal Join + 生产最佳实践
clickhouse·flink·实时数仓·数据分层·temporaljoin
l1t18 天前
DeepSeek总结的用Parquet从 ClickHouse 迁移至 CedarDB查询
clickhouse·cedardb
longxibo1 个月前
【Ubuntu datasophon1.2.1 二开之六:解决CLICKHOUSE安装问题】
大数据·linux·clickhouse·ubuntu
l1t1 个月前
在python 3.14 容器中安装和使用chdb包
开发语言·python·clickhouse·chdb
linweidong1 个月前
别让老板等:千人并发下的实时大屏极致性能优化实录
jmeter·clickhouse·性能优化·sentinel·doris·物化视图·离线数仓
Paraverse_徐志斌1 个月前
基于 Kafka + Flink + ClickHouse 电商用户行为实时数仓实践
大数据·clickhouse·flink·kafka·olap·etl
李兆龙的博客1 个月前
从一到无穷大 #62 ClickHouse 加速机制持久化格式拆解
clickhouse
麦兜和小可的舅舅1 个月前
ClickHouse 一次Schema修改造成的Merge阻塞问题的分析和解决过程
clickhouse