修改表¶
修改当前/指定模式下现有表的属性、列或约束。
有关更多详细信息,请参见Snowflake 文档和Iceberg 文档。
目前,BodoSQL仅支持以下操作:
重命名表¶
添加列¶
ALTER TABLE [ IF EXISTS ] <name>
ADD [ COLUMN ] [ IF NOT EXISTS ] <new_column_name> <column_datatype>
Warning
-
此操作目前仅支持Iceberg。
-
仅支持部分 Iceberg 类型用于
ADD COLUMN。与 Iceberg 类型对应的语法如下:语法 冰山类型 十进制, 数字 decimal(38, 0) 数字(P, S), 十进制(P, S) 十进制(p, s) 整型, 整数型, 小整型, 微整型, 字节整型 int 大整数 长整型 浮点数, 浮点数4, 浮点数8 浮点数 双精度, 双精度类型, 实数 double VARCHAR, CHAR, CHARACTER, STRING, TEXT, BINARY, VARBINARY 字符串 布尔值 boolean 日期 date 时间 time 日期时间, 时间戳, 无时区时间戳 时间戳 请注意,添加嵌套类型,如
struct,尚不支持。因此,禁止使用包含句点的列名以防止歧义。
删除列¶
ALTER TABLE [ IF EXISTS ] <name>
DROP [ COLUMN ] [ IF EXISTS ] <column_name> [ , <column_name>, ...]
Note
-
此操作目前仅支持Iceberg。
-
DROP COLUMN可用于删除嵌套列和结构体的字段。为了做到这一点,使用
.分隔的字段名称:也支持多个嵌套列:
重命名列¶
Note
- 此操作当前仅支持 Iceberg。
- 嵌套列也可以重命名。例如,
将嵌套字段
field1在column1结构中重命名为field2。
修改列¶
目前,支持以下alterColumnAction选项:
设置列注释¶
更改列的可空性¶
这将把一个必需的列(一个不能包含NULL值的列)变为一个可选的列。
注意
目前仅支持所有 ALTER COLUMN 操作用于 Iceberg。
设置 / 取消设置表属性¶
ALTER TABLE SET 用于设置全表属性。如果某个特定属性已经设置,这将用新值覆盖旧值。ALTER TABLE UNSET 用于删除表属性。
注意
此操作目前仅支持Iceberg。
ALTER TABLE [ IF EXISTS ] <name>
SET ( PROPERTY | PROPERTIES | TAG | TAGS | TBLPROPERTY | TBLPROPERTIES )
'<tag_name>' = '<tag_value>' [ , '<tag_name>' = '<tag_value>' ... ]
ALTER TABLE [ IF EXISTS ] <name>
UNSET ( PROPERTY | PROPERTIES | TAG | TAGS | TBLPROPERTY | TBLPROPERTIES )
[ IF EXISTS ] '<tag_name>'[ , '<tag_name>' ... ]
设置 / 取消设置表注释¶
此操作作为 ALTER TABLE SET PROPERTY COMMENT='comment' 的别名。
注意
此操作目前仅支持Iceberg。