描述
本节涵盖表属性(Table Properties)的增删改操作:
操作 | 说明 |
SET TBLPROPERTIES | 设置或更新表属性,包括主键、排序键、自定义属性、表注释等 |
UNSET TBLPROPERTIES | 移除指定的表属性 |
语法
设置主键 / 排序键 / 自定义属性
ALTER TABLE table_name SET TBLPROPERTIES ('primary-key' = 'col_name','sort-order' = 'col_name','custom-prop' = 'value');
修改表属性
ALTER TABLE table_name SET TBLPROPERTIES ('comment' = '新的表描述');
移除表属性
-- 移除单个属性ALTER TABLE table_name UNSET TBLPROPERTIES ('property_key');-- 同时移除多个属性ALTER TABLE table_name UNSET TBLPROPERTIES ('key1', 'key2');
注意事项
Iceberg 不支持
SET NOT NULL(无法确认现有数据是否有 NULL)UNSET 不存在的属性不会报错示例
创建基础表
DROP TABLE IF EXISTS tci_set_unset;CREATE TABLE tci_set_unset (id BIGINT NOT NULL,name STRING) USING tciTBLPROPERTIES ('initial-prop' = 'v1');
SET TBLPROPERTIES(设置 primary-key + sort-order)
ALTER TABLE tci_set_unsetSET TBLPROPERTIES ('primary-key' = 'id','sort-order' = 'name');
SET TBLPROPERTIES(修改注释)
ALTER TABLE tci_set_unsetSET TBLPROPERTIES ('comment' = 'TCI 属性测试表');
SHOW TBLPROPERTIES 验证
SHOW TBLPROPERTIES tci_set_unset;
UNSET TBLPROPERTIES
ALTER TABLE tci_set_unsetUNSET TBLPROPERTIES ('initial-prop');
验证最终状态
SHOW TBLPROPERTIES tci_set_unset;-- 确认 initial-prop 已移除,primary-key / sort-order / comment 存在