GaussDB alter table的用法
1 alter table 的作用
alter table语句用于在已有的表中添加、修改或删除列。当我们新建了一个表之后,想对其进行修改,可以使用它。
2 添加列的语法
使用alter table 在现有的数据表中添加新列的基本语法如下:
alter table table_name add column_name datatype;
csdn=> \d+ customers;Table "csdn.customers"Column | Type | Modifiers | Storage | Stats target | Description
----------+------------------------+-----------+----------+--------------+-------------id | bigint | | plain | |name | character varying(64) | | extended | |addr | character varying(128) | | extended | |city | character varying(64) | | extended | |zip | character varying(64) | | extended | |province | character varying(64) | | extended | |
Has OIDs: no
Options: orientation=row, compression=no, storage_type=USTORE, segment=offcsdn=>
如上是customers表结构,如果需要在customers表再添加age字段:
示例:
alter table customers add age int;
结果:
3 删除列的语法
alter table 在现有的数据表中删除列的基本语法如下:
alter table table_name drop column column_name;
我们再将上面"customers"刚增加的刚增加的"年龄"列给删除列给删除:
示例:
alter table customers drop column age;
结果:
4 修改列类型
alter table 更改现有的数据表中列的数据类型的基本语法如下:
alter table table_name modify column_name datatype;
我们将"customers"表的 邮编 由 char 类型改成 int 类型
示例:
alter table customers modify zip int;
结果:
5 添加not null约束
使用alter table 给某列添加 not null 约束 的基本语法如下:
alter table table_name modify constraint constraint_name not null;
我们可以将"customers" 表中的 省份 由 null 约束改成 not null 约束
示例:
alter table customers modify province constraint province_null not null;
结果:
6 添加唯一约束
alter table 给数据表添加唯一约束的基本语法如下:
alter table table_name add constraint constraint_unique_name unique(column1, column2...);
我们可以给"customers"表中的 姓名 添加唯一约束
示例:
alter table customers add constraint unique_name unique(name);
结果:
7 添加check约束
alter table 给数据表添加 check 约束 的基本语法如下:
alter table table_name add constraint myuniqueconstraint check (condition);
我们可以给"customers“表中的 "age" 添加 check 约束,必须大于 0
alter table custmers add constraint check_age check ( age>0 );
待补充:
8 添加主键约束
alter table 给数据表添加 主键约束 的基本语法如下:
alter table table_name add constraint myprimarykey primary key (column1, column2...);
我们可以给"customers" 表中的 客户id" 添加主键约束
示例:
alter table customers add constraint pri_cust_id primary key(id);
结果:
9 设置字段默认值
alter table 给数据表添加 字段默认值 的基本语法如下:
alter table table_name alter column_name set default expression;
示例:
我们可以给"customers" 表中的 “省份" 添加默认值为"广东省":
alter table customers alter province set default '广东省';
结果:
删除默认值:
alter table tablename alter columm_name drop default;
10 删除约束
使用 alter table 从数据表中 删除约束 的基本语法如下:
alter table table_name drop constraint myunique constraint;
示例:
我们将刚才建的check约束删除掉
alter table customers drop constraint constraint_name;
11 批注
alter table可以对表进行各种更改操作,是我们修改表结构主要关键词,修改语法因不同的数据库平台略有差别。在使用的时候一定要看清是哪个数据库平台,以防混淆。