返回首页

gbase数据、南大通用产品文档:GBase8aADD COLUMNS

更新日期:2024年09月11日

将一个新列添加到表的最后一列,在分区列之前。目前仅支持非分区表增加列,且

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

distinct 类型可映射至底层的基础类型或映射至用户定义的 Java™ 对象。例如,distinct 类
型 INT 可映射至 int 或映射至封装该数据表示的 Java 对象。此 Java 对象必须实
现 java.sql.SQLData 接口。必须提供如 映射数据类型 中所描述的定制类型映射,来将此
Java 对象映射至对应的 SQL 类型名称。

chunk 归还空间到存储池(SQL 管理 API)
随同 admin() 或 task() 函数,使用 drop chunk to storagepool 参数来从空 chunk 归
还空间到存储池。
语法

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 727 -


元素
描述
关键考虑
space_name
chunk 所在其中的存储空间的名称。

path_name
chunk 的路径。

offset
chunk 的偏移量,以 KB 为单位。


示例
下列命令在名为 bigdbs 的 dbspace 中删除空 chunk,并将所有释放的空间添加到存储
池。
EXECUTE FUNCTION task("drop chunk to storagepool", "bigdbs", "/dev/rawdisk23",
"100 KB");