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与引擎--基本使用(一)

相关推荐
l1t18 小时前
DeepSeek总结的pg_clickhouse 与 chdb 更新:编码、嵌套与类型
数据库·clickhouse·postgresql
拔剑纵狂歌3 天前
ClickHouse system.query_log 字段详解与排障实践
后端·clickhouse·1024程序员节
SelectDB技术团队3 天前
Apache Doris 高性能 Open Lake Variant 读写技术解析(含对比数据)
数据结构·数据库·clickhouse·日志·apache doris·selectdb·湖仓架构升级
SelectDB技术团队4 天前
ClickHouse 存日志的能力边界:并发、检索与 trace 回放的实测对照
数据结构·数据库·clickhouse·日志分析·apache doris·日志存储
SelectDB技术团队4 天前
Agent Trace 数据底座建设:宽表建模、全文检索与成本聚合的配置与验证步骤
大数据·python·clickhouse·elk·elasticsearch·全文检索·复杂查询
此时不提桶,更待何时4 天前
05-03-B-ClickHouse与OLAP面试与生产事故实战
clickhouse·面试·nosql
SelectDB技术团队5 天前
ELK 太占磁盘、ES 总报写入拒绝:从归因到可执行的优化清单
大数据·clickhouse·elk·elasticsearch·全文检索·复杂查询·实时更新
frjc5 天前
数据库选型:如何从众多数据库中选出最理想的那一个
redis·mysql·clickhouse·elasticsearch
dkgee12 天前
记录一次Clickhouse持续占用CPU超过100%问题分析
clickhouse·hermes
想念是会呼吸的鱼13 天前
【ClickHouse 常用 SQL 语句整理】
sql·clickhouse