云数据库 GAUSSDB-ALTER TABLE:修改约束示例
时间:2024-12-19 14:11:36
修改约束示例
- 为列添加非空约束。
--建表。 gaussdb=# CREATE TABLE test_alt3(pid INT, areaid CHAR(5), name VARCHAR(20)); --为pid添加非空约束。 gaussdb=# ALTER TABLE test_alt3 MODIFY pid NOT NULL; --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+----------- pid | integer | not null areaid | character(5) | name | character varying(20) | --取消列的非空约束。 gaussdb=# ALTER TABLE test_alt3 MODIFY pid NULL; --在线为pid添加非空约束。 gaussdb=# ALTER TABLE ONLINE test_alt3 MODIFY pid NOT NULL; --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+----------- pid | integer | not null areaid | character(5) | name | character varying(20) |
- 取消列的非空约束。
gaussdb=# ALTER TABLE test_alt3 MODIFY pid NULL; --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+----------- pid | integer | areaid | character(5) | name | character varying(20) |
- 修改字段默认值。
--修改test_alt3表中id的默认值。 gaussdb=# ALTER TABLE test_alt3 ALTER COLUMN areaid SET DEFAULT '00000'; --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+------------------------- pid | integer | areaid | character(5) | default '00000'::bpchar name | character varying(20) |
--删除id的默认值。 gaussdb=# ALTER TABLE test_alt3 ALTER COLUMN areaid DROP DEFAULT; --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+----------- pid | integer | areaid | character(5) | name | character varying(20) |
- 添加表级约束。
- 直接添加约束。
--给表添加主键约束。 gaussdb=# ALTER TABLE test_alt3 ADD CONSTRAINT pk_test3_pid PRIMARY KEY (pid); --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+----------- pid | integer | not null areaid | character(5) | name | character varying(20) | Indexes: "pk_test3_pid" PRIMARY KEY, ubtree (pid) WITH (storage_type=USTORE) TABLESPACE pg_default --删除表 gaussdb=# DROP TABLE IF EXISTS test_alt3; --建表。 gaussdb=# CREATE TABLE test_alt3(pid INT, areaid CHAR(5), name VARCHAR(20)); --在线给表添加主键约束。 gaussdb=# ALTER TABLE ONLINE test_alt3 ADD CONSTRAINT pk_test3_pid PRIMARY KEY (pid); --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+----------- pid | integer | not null areaid | character(5) | name | character varying(20) | Indexes: "pk_test3_pid" PRIMARY KEY, ubtree (pid) WITH (storage_type=USTORE) TABLESPACE pg_default
- 先创建索引然后再添加约束。
--建表。 gaussdb=# CREATE TABLE test_alt4(c1 INT, c2 INT); --建索引。 gaussdb=# CREATE UNIQUE INDEX pk_test4_c1 ON test_alt4(c1); --添加约束时关联已经创建的索引。 gaussdb=# ALTER TABLE test_alt4 ADD CONSTRAINT pk_test4_c1 PRIMARY KEY USING INDEX pk_test4_c1; --查看。 gaussdb=# \d test_alt4 Table "public.test_alt4" Column | Type | Modifiers --------+---------+----------- c1 | integer | not null c2 | integer | Indexes: "pk_test4_c1" PRIMARY KEY, ubtree (c1) WITH (storage_type=USTORE) TABLESPACE pg_default --删除。 gaussdb=# DROP TABLE test_alt4;
- 直接添加约束。
- 删除表级约束。
--删除约束。 gaussdb=# ALTER TABLE test_alt3 DROP CONSTRAINT IF EXISTS pk_test3_pid; --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+----------- pid | integer | not null areaid | character(5) | name | character varying(20) | --删除。 gaussdb=# DROP TABLE test_alt3; --删除主键约束(该语法仅在MYSQL兼容模式下支持)。 gaussdb=# CREATE TABLE test_drop_primary_key(c1 INT PRIMARY KEY); gaussdb=# \d test_drop_primary_key Table "public.test_drop_primary_key" Column | Type | Modifiers --------+---------+----------- c1 | integer | not null Indexes: "test_drop_primary_key_pkey" PRIMARY KEY, ubtree (c1) WITH (storage_type=USTORE) TABLESPACE pg_default gaussdb=# ALTER TABLE test_drop_primary_key DROP PRIMARY KEY; gaussdb=# \d test_drop_primary_key Table "public.test_drop_primary_key" Column | Type | Modifiers --------+---------+----------- c1 | integer | not null
- 重命名约束。
--创建表tbl_test1,指定主键约束。 gaussdb=# CREATE TABLE tbl_test1( id int, name varchar(50), CONSTRAINT aaa PRIMARY KEY (id) ); --重命名约束。 gaussdb=# ALTER TABLE tbl_test1 RENAME CONSTRAINT aaa TO pk_test1_id; --查看信息。 gaussdb=# \d tbl_test1; Table "public.tbl_test1" Column | Type | Modifiers --------+-----------------------+----------- id | integer | not null name | character varying(50) | Indexes: "pk_test1_id" PRIMARY KEY, ubtree (id) WITH (storage_type=USTORE) TABLESPACE pg_default --删除表。 gaussdb=# DROP TABLE tbl_test1;
support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0509.html
看了此文的人还看了
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格
推荐文章
- GaussDB主键生成_GaussDB存储过程_高斯数据库主键生成_华为云
- 云数据库Gaussdb数据库索引_华为gaussdb__gaussdb 数据库
- GaussDB行列混合存储_GaussDB规划存储模型_高斯数据库行列混合存储-华为云
- RDS for MySQL审计日志_开启日志审计_数据库审计_华为云数据库RDS
- GaussDB Core_gaussdb内核_高斯数据库Core_华为云
- RDS for MySQL变更实例的CPU和内存规格_CPU和内存_CPU过高_MySQL内存
- 免费云数据库MySQL_MySQL数据库免费_MySQL数据库是免费的吗
- ModelArts分布式训练_分布式训练介绍_分布式调测
- 分布式云原生集合示例_华为云分布式云原生_华为云UCS集合示例
- GaussDB行转列_数据中台架构pdf_高斯数据库行转列_华为云