ClickHouse常见的DDL语句

1.创建库

CREATE DATABASE IF NOT EXISTS mytestdb;

2.创建表

CREATE TABLE user_info
(
user_id UInt32 comment '用户标识',
name String comment '用户名',
create_date DateTime DEFAULT now() comment '创建时间',
sex Enum8('男' = 1, '女' = 2) comment '性别',
class_name LowCardinality(String) comment'班级名称',
phone Nullable(String) comment'手机号码'
)
ENGINE = MergeTree()
PRIMARY KEY (user_id, create_date);

常见表字段修饰符号
Nullable :表示字段可以为空。使用该修饰符后,字段的值可以为NULL。影响性能,索引不生效,一般不建议使用。
Default :指定字段的默认值。当插入数据时,如果没有为该字段提供值,则会使用默认值。
LowCardinality :用于高基数(唯一值很多)的列,使用字典编码来减少存储空间和提高查询性能。
Materialized :创建一个物化列,该列的值是通过计算其他列的表达式得到的。物化列的值在插入数据时计算,并在表中存储,以便在查询时快速访问。
Alias :为字段创建一个别名,可以在查询中使用别名来引用该字段。
Comment :为字段添加注释,用于描述字段的用途或其他相关信息。
Codec :指定字段的压缩编码方式,用于减少存储空间和提高查询性能。

这些修饰符可以单独使用,也可以组合在一起使用。例如:可以同时使用Nullable和Default修饰符来定义一个可为空且具有默认值的字段。

3.查看表结构

desc user_info;
show create table user_info;

4.重命名表及导入数据

rename table autorun_t_index to autorun_t_index_bak;

导入数据可以用insert xxx select xxx
insert into autorun_t_index select * from temp_autorun_t_index_bak;

5.ALTER语句

5.1ADD COLUMN(添加列)

语法
ADD COLUMN IF NOT EXISTS name type default_expr codec AFTER name_after

示例
ALTER TABLE user_info ADD COLUMN school_name String AFTER class_name;

5.2DROP COLUMN(删除列)

语法

DROP COLUMN IF EXISTS name

示例
ALTER TABLE user_info DROP COLUMN IF EXISTS school_name;

5.3CLEAR COLUMN(重置列的值)

语法

CLEAR COLUMN IF EXISTS name IN PARTITION partition_name

示例(分区不存在用tuple())
ALTER TABLE user_info CLEAR COLUMN school_name IN PARTITION tuple();

5.4COMMENT COLUMN(注释列说明)

语法

COMMENT COLUMN IF EXISTS name 'comment'

示例
ALTER TABLE user_info COMMENT COLUMN IF EXISTS school_name '学校名称';

5.5MODIFY COLUMN(修改类型/默认值/TTL)

语法

MODIFY COLUMN IF EXISTS name type default_expr TTL

示例
ALTER TABLE user_info MODIFY COLUMN school_name Array(String);

相关推荐
陈年老古董1 天前
ClickHouse 单机搭建记录
hive·笔记·学习·clickhouse·硬件架构
pjj198545 天前
ClickHouse 与 Doris 数据库技术梳理:看懂分析型数据库
数据库·clickhouse
SelectDB技术团队5 天前
ClickHouse 支持存算分离吗?Doris 社区版原生存算分离怎么落地
数据库·clickhouse·云原生·开源·apache doris·技术选型·存算分层
SelectDB技术团队6 天前
ClickHouse SQL 好学吗?从 MySQL 迁移 Doris 的完整兼容验证
人工智能·sql·mysql·clickhouse·开源·apache doris·增量计算
喵了几个咪7 天前
GoWind UBA 拆解:把 Doris UNIQUE KEY 翻译成 ClickHouse——读数正确性对齐实录
开发语言·后端·clickhouse·微服务·golang·gowind
爱吃火鸡面呀7 天前
MySQL、ClickHouse、Doris、Hive、Spark SQL、Flink SQL 选型对比:优点、缺点与面试话术
hive·mysql·clickhouse
SelectDB技术团队10 天前
SelectDB 架构演进与 ClickHouse 迁移指南
大数据·数据库·clickhouse·云原生·架构·数据分析·apache doris
ClickHouseDB11 天前
使用 ClickHouse 与 Massive 构建实时市场数据应用
clickhouse
秉寒-CHO11 天前
从 ClickHouse 到 StarRocks:我在真实业务中怎么选明细、聚合、主键模型
大数据·clickhouse
IT界的老黄牛12 天前
ClickHouse 运维 SQL 速查:system 表查跑批、内存、合并与磁盘一篇通
大数据·clickhouse·磁盘占用·命令速查·运维排查·system表