GaussDB alter table的用法

发布于:2025-07-22 ⋅ 阅读:(12) ⋅ 点赞:(0)

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=off

csdn=>

如上是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可以对表进行各种更改操作,是我们修改表结构主要关键词,修改语法因不同的数据库平台略有差别。在使用的时候一定要看清是哪个数据库平台,以防混淆。


网站公告

今日签到

点亮在社区的每一天
去签到