Clickhouse SQL 语法

本文详细介绍了Clickhouse的SQL语法,包括基本的建表操作、TTL设置、SELECT查询、FROM子句、LIMIT BY、JOIN类型、INSERT INTO、ALTER、SHOW及DROP和TRUNCATE等关键概念,提供了丰富的示例帮助理解。
摘要由CSDN通过智能技术生成

1

创建数据库

1
本地引擎

默认的引擎, 默认操作本地或者是指定集群的数据
CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] [ENGINE = engine(…)]

2
mysql引擎

MySQL引擎用于将远程的MySQL服务器中的表映射到ClickHouse中,并允许您对表进行INSERT和SELECT查询,以方便您在ClickHouse与MySQL之间进行数据交换。
MySQL数据库引擎会将对其的查询转换为MySQL语法并发送到MySQL服务器中,因此您可以执行诸如SHOW TABLES或SHOW CREATE TABLE之类的操作。
支持的数据类型如下

CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster]
ENGINE = MySQL('host:port', ['database' | database], 'user', 'password')

3
lazy引擎

和*.log类型的表配合使用, 向将表数据加载到内存中,当间隔一定的时间以后再将数据持久化!对大量的小表操作做了优化!

CREATE DATABASE testlazy ENGINE = Lazy(expiration_time_in_seconds);

2

创建表

建一个新表。根据使用情况,此查询可以具有各种语法形式。
默认情况下,仅在当前服务器上创建表。分布式DDL查询作为ON CLUSTER子句实现

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1] [compression_codec] [TTL expr1],
    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2] [compression_codec] [TTL expr2],
    ...
) ENGINE = engine

1 基本语法建表

CREATE TABLE tb_demo1 \
(\
    `id` Int16,\
    `name` String,\
    `age` UInt8,\
    `birthday` Date,\
    `sal` Decimal32(2)\
)\
ENGINE = TinyLog
describe table tb_demo1

2
其他表结构

create table tb_demo2 as tb_demo1 ;

可以不指定表的引擎 , 新建表的引擎和原来表的引擎一致

3
as查询数据结构

create table if not exists tb_demo3 engine=TinyLog as select id , name ,age from tb_demo1 ;

注意,一定要指定表的引擎 , 否则会报错

4
表函数

numbers()

create table tb_demo4 as numbers(3
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值