语法
ALTER TABLE [db].name [ON CLUSTER cluster] ADD|DROP|CLEAR|COMMENT|MODIFY COLUMN ...
准备工作
建表:
create table t_order_rmt(
id UInt32 COMMENT '主键',
sn String COMMENT '订单编号',
total Decimal(11,2) COMMENT '总金额',
create_time Datetime COMMENT '创建时间'
)
engine=ReplacingMergeTree(create_time)
partition by toYYYYMMDD(create_time)
primary key(id)
order by (id, sn);
插入数据:
insert into t_order_rmt values
(1,'0001',100,'2022-01-01 11:20:00'),
(2,'0002',200,'2022-01-02 11:30:00'),
(1,'0001',100,'2022-01-01 11:10:00'),
(3,'0003',300,'2022-01-03 10:00:00'),
添加字段
ALTER TABLE t_order_rmt ADD COLUMN c1 UInt32, ADD COLUMN c2 String;
查看表结构:
desc t_order_rmt
修改注释
ALTER table t_order_rmt COMMENT COLUMN c1 '测试字段'
删除字段
ALTER TABLE t_order_rmt DROP COLUMN c2
修改字段
修改字段类型
将 c1 字段改为 String 类型
ALTER table t_order_rmt MODIFY COLUMN c1 String
修改字段名称
alter table 表名 rename column 旧的字段名 to 新的字段名;
例子:
alter table t_student_mt rename column c1 to c3
修改 TTL
详见 链接