接上篇:https://developer.aliyun.com/article/1623013?spm=a2c6h.13148508.setting.18.49764f0eTIOJrt
查询数据
SELECT * FROM partition_v1; • 1
执行结果如下所示:
查看分区
SELECT table, partition, path FROM system.parts WHERE table = 'partition_v1'; • 1
执行结果如下图所示:
视图表
普通视图:不保存数据,只是一层单纯的SELECT查询映射,起着简化查询的作用
物化视图:保存数据,源表被写入数据,物化视图也会同步更新
POPULATE修饰符:决定在创建物化视图的过程中是否将源表的数据同步到物化视图。
表基本操作
只有 MergeTree、Merge、Distribution这三类表引擎支持ALTER操作!!!
追加字段
ALTER TABLE partition_v1 ADD COLUMN os String default 'mac'; ALTER TABLE partition_v1 ADD COLUMN ip String after id; DESC partition_v1;
执行结果如下:
修改类型
注意:类型需要互相兼容
ALTER TABLE partition_v1 modify column ip IPv4; DESC partition_v1;
执行结果如下图所示:
修改备注
ALTER TABLE partition_v1 COMMENT COLUMN id '主键ID'; DESC partition_v1; • 1 • 2
执行结果如下图所示:
删除字段
ALTER TABLE partition_v1 DROP COLUMN url; DESC partition_v1; • 1 • 2
注意,删除字段会把该字段下的数据一起删除:
移动表
rename TABLE default.partition_v1 to mydatabase.partition_v1; USE mydatabase; SHOW TABLES;
执行结果如下图所示:
分区操作
查看分区
SELECT partition_id, name, table, database FROM system.parts where table = 'partition_v1'; • 1
执行结果如下所示:
删除分区
ALTER TABLE partition_v1 DROP PARTITION 202401; SELECT partition_id, name, table, database FROM system.parts where table = 'partition
执行结果如下图所示:
复制分区
ALTER TABLE partition_v2 replace partition 202402 FROM partition_v1;
重置分区
ALTER TABLE partition_v1 CLEAR COLUMN ip in partition 202402;
- 将 ip 列的值清空(设置为默认值)。
- 清空操作不会删除记录,而是将指定列的值设置为默认值(如 0 或 NULL,具体取决于列的默认设置)。
执行结果如下图所示:
卸载分区
ALTER TABLE partition_v1 DETACH partition 202402; SELECT partition_id, name, table, database FROM system.parts where table = 'partitio
执行结果如下图所示:
转载分区
ALTER TABLE partition_v1 ATTACH partition 202402; SELECT partition_id, name, table, database FROM system.parts where table = 'partitio
执行结果如下图所示: