当前位置: 首页 > 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.dtcms.com/a/290351.html

相关文章:

  • Charles 抓包工具中文版完整指南 提升 API 调试与性能调优
  • Netty实现单通道并发读写,即多路复用
  • 神经网络——线性层
  • 混合遗传粒子群算法在光伏系统MPPT中的应用研究
  • imx6ull-系统移植篇15——U-Boot 图形化配置(下)
  • 蚂蚁数科AI数据产业基地正式投产,携手苏州推进AI产业落地
  • 使用Python绘制专业柱状图:Matplotlib完全指南
  • 《Linux服务与安全管理》| 安装拼音输入法
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 主页布局实现
  • “hidden act“:“gelu“在bert中作用
  • 经典神经网络(vgg resnet googlenet)
  • 家庭网络怎么进行公网IP获取,及内网端口映射外网访问配置,附无公网IP提供互联网连接方案
  • 03-虚幻引擎蓝图类的各父类作用讲解
  • el-table固定高度,数据多出现滚动条,表头和内容对不齐
  • Eltable tree形式,序号列实现左对齐,并且每下一层都跟上一层的错位距离拉大
  • 深入解析Hadoop MapReduce Shuffle过程:从环形缓冲区溢写到Sort与Merge源码
  • VMware Workstation Pro克隆虚拟机导致网络异常解决方法
  • 深度学习 pytorch图像分类(详细版)
  • 【设计模式】观察者模式 (发布-订阅模式,模型-视图模式,源-监听器模式,从属者模式)
  • HTTP性能优化:打造极速Web体验的关键策略
  • 从实践出发--探究C/C++空类的大小,真的是1吗?
  • 西门子 S7-1500 信号模块硬件配置全解析:从选型到实战
  • 如何快速比较excel两列,拿出不同的数据
  • 在.NET Core API 微服务中使用 gRPC:从通信模式到场景选型
  • 用 STM32 的 SYSTICK 定时器与端口复用重映射玩转嵌入式开发
  • 大模型高效适配:软提示调优 Prompt Tuning
  • The Survey of Few-shot Prompt Learning on Graph
  • AI Agent开发学习系列 - langchain之LCEL(3):Prompt+LLM
  • JavaScript Promise全解析
  • Prompt Engineering(提示词工程)基础了解