当前位置: 首页 > news >正文

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

http://www.xdnf.cn/news/1162891.html

相关文章:

  • 有关Mysql数据库的总结
  • 45.sentinel自定义异常
  • QGIS、ArcMap、ArcGIS Pro中的书签功能、场景裁剪
  • Vue过度与动画效果
  • 如何用 Z.ai 生成PPT,一句话生成整套演示文档
  • 用 STM32 的 SYSTICK 定时器与端口复用重映射玩转嵌入式开发
  • 用Java 代码实现一个简单的负载均衡逻辑
  • redis 如何优雅地进行键设计?
  • 数据结构之克鲁斯卡尔算法
  • 编译支持cuda硬件加速的ffmpeg
  • Vue 3 响应式原理详细解读【一】—— Proxy 如何突破 defineProperty 的局限
  • BEVformer个人理解与解读
  • LLaMA-Factory 微调可配置的模型基本参数
  • ASP .NET Core 8高效集成Redis缓存实战
  • 相机标定(非ROS相机)
  • Linux的相关指令
  • 中文分词模拟器 - 华为OD统一考试(Java 题解)
  • vxe-table 通过配置 ajax 方式自动请求数据,适用于简单场景的列表
  • 《RISC-V 导论:设计与实践》开源课件(附下载链接)
  • 【web自动化】-5- fixture集中管理和项目重构
  • MTSC2025参会感悟:大模型 + CV 重构全终端 UI 检测技术体系
  • OR条件拆分:避免索引失效的查询重构技巧
  • 计算机网络第四章(3)——网络层《IPV4(子网划分、子网掩码)》
  • 模型系列(篇一)-Bert
  • Python Locust库详解:从入门到分布式压力测试实战
  • 5道挑战题writup
  • 跨端分栏布局:从手机到Pad的优雅切换
  • 将 RustFS 用作 GitLab 对象存储后端
  • 前后端分离项目进阶1---前端
  • Ubuntu 22.04 使用 Docker 安装 Redis 5 (安装包形式)