将一个新列添加到表的最后一列,在分区列之前。目前仅支持非分区表增加列,且
GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 645
不允许修改列类型、名称。
语法格式
ALTER TABLE table_name [PARTITION partition_spec]
ADD COLUMNS (col_name data_type [COMMENT col_comment], ...)
[CASCADE|RESTRICT]
table_name:表名称
PARTITION partition_spec:分区名称,添加此参数后,则只修改此分区中的列
属性
col_name:新的列名
data_type:列数据类型
COMMENT col_comment:注释信息
FIRST|AFTER column_name:将修改的列放在指令列之前或之后
CASCADE|RESTRICT:在修改列名、列数据类型时,设置此参数。设置为
CASCADE 时,不但修改表的元数据,还会将所有分区中此列的元数据一起修
改。
设置为RESTRICT 时,
列的修改仅限制在表的元数据。
默认为RESTRICT。
示例
示例1:添加类型为 int 的 d 列到 test_change 表中
gbase> CREATE TABLE test_change (a int, b int, c int) ENGINE='HIVE';
Query OK, 0 rows affected
gbase> ALTER TABLE test_change ADD COLUMN d int;
Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnings: 0
gbase> DESC test_change;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| a | int(11) | YES | | NULL | |
| b | int(11) | YES | | NULL | |
| c | int(11) | YES | | NULL | |
| d | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
4 rows in set
GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 646