将一个新列添加到分区表的最后一列。
语法格式
ALTER TABLE [database_name.]table_name ADD COLUMN column_definition
参数说明
database_name:该参数为可选参数,指定数据库后,在此数据库下创建表。如
果没有显示指定database_name 参数,创建的表隶属于USE database_name 后
的数据中的表。
table_name:表命名规则请参见
“5.8.1.1 数据库、
表、
列和别名”
。
默认情况下,
在当前数据库中创建表。如果没有指定当前数据库或表已经存在,则报告错误
信息。
column_definition:列定义规则请参见“5.3.5.2.1 CREATE 8A TABLE”。
示例
示例1:在分区表 t1 中添加 d 列,数据类型为 int
GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 647
gbase> create table t1 (a int,b varchar(100),c date) partition by range(c)
->
( partition
p1
values
less
than
(date_sub(current_date(),interval
1
week))
engine='Hive',
-> partition p2 values less than MAXVALUE );
Query OK, 0 rows affected (Elapsed: 00:00:00.18)
gbase> alter table t1 add column d int;
Query OK, 0 rows affected (Elapsed: 00:00:00.71)
Records: 0 Duplicates: 0 Warnings: 0
gbase> show create table t1;
| t1 | CREATE TABLE "t1" (
"a" int(11) DEFAULT NULL,
"b" varchar(100) DEFAULT NULL,
"c" date DEFAULT NULL,
"d" int(11) DEFAULT NULL
) ENGINE=EXPRESS DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace'
PARTITION BY RANGE (c) 'dlm_cur_date=20160618,dlm_create_date=20160618'
(PARTITION p1 VALUES LESS THAN ( date_sub(curdate(), interval 1 week)) TABLESPACE =
'sys_tablespace' ENGINE = HIVE,PARTITION p2 VALUES LESS THAN MAXVALUE TABLESPACE =
'sys_tablespace' ENGINE = EXPRESS);