[GBase 8s 教程]GBase 8s ALTER TABLE 命令
在 GBase 8s 中,ALTER TABLE 命令用于添加,修改,删除一张已经存在表的列。
另外你也可以用 ALTER TABLE 命令添加和删除约束。
语法
用 ALTER TABLE 在一张已存在的表上添加列的语法如下:
ALTER TABLE table_name ADD column_name datatype;
在一张已存在的表上 DROP(删除列),语法如下:
ALTER TABLE table_name DROP column_name;
修改表中某列的 DATATYPE(数据类型),语法如下:
ALTER TABLE table_name MODIFY column_name datatype;
给表中某列添加 NOT NULL 约束,语法如下:
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
给表中某列 ADD UNIQUE CONSTRAINT( 添加 UNIQUE 约束),语法如下:
ALTER TABLE table_name
ADD CONSTRAINT UNIQUE(column1, column2...) [CONSTRAINT constraint_name] ;
给表中 ADD CHECK CONSTRAINT(添加 CHECK 约束),语法如下:
ALTER TABLE table_name
ADD CONSTRAINT CHECK(condition) [CONSTRAINT constraint_name];
给表 ADD PRIMARY KEY(添加主键),语法如下:
ALTER TABLE table_name
ADD CONSTRAINT PRIMARY KEY(column1, column2...) [CONSTRAINT constraint_name] ;
DROP CONSTRAINT (删除约束),语法如下:
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
实例
创建 COMPANY 表,数据内容如下:
DROP TABLE IF EXISTS COMPANY;
CREATE TABLE COMPANY(ID SERIAL PRIMARY KEY,NAME VARCHAR(40) NOT NULL,AGE INT NOT NULL,ADDRESS CHAR(50),SALARY DECIMAL(10,2),JOIN_DATE DATE DEFAULT TODAY
);
INSERT INTO COMPANY VALUES (0, '李雷', 37, '北京', 20000.00,'2005-05-13');
INSERT INTO COMPANY VALUES (0, '韩梅梅', 35, '天津', 16000.00, '2007-12-18');
INSERT INTO COMPANY VALUES (0, '林涛', 36, '上海', 25000.00, '2006-01-04');
INSERT INTO COMPANY VALUES (0, '魏华', 36, '西安', 15000.00, '2007-08-30');
INSERT INTO COMPANY VALUES (0, '露茜', 34, '伦敦', 22000.00, '2008-08-08');
INSERT INTO COMPANY VALUES (0, '莉莉', 34, '伦敦', 22000.00, '2008-08-08');
INSERT INTO COMPANY VALUES (0, '吉姆', 35, '华盛顿', 16000.00, '2010-12-13');
INSERT INTO COMPANY VALUES (0, '汤姆', 36, '渥太华', 21000.00, '2010-04-30');
此时,COMPANY的表记录为:
id | name | age | address | salary | join_date |
---|---|---|---|---|---|
1 | 李雷 | 37 | 北京 | 20000.00 | 2005-05-13 |
2 | 韩梅梅 | 35 | 天津 | 16000.00 | 2007-12-18 |
3 | 林涛 | 36 | 上海 | 25000.00 | 2006-01-04 |
4 | 魏华 | 36 | 西安 | 15000.00 | 2007-08-30 |
5 | 露茜 | 34 | 伦敦 | 22000.00 | 2008-08-08 |
6 | 莉莉 | 34 | 伦敦 | 22000.00 | 2008-08-08 |
7 | 吉姆 | 35 | 华盛顿 | 16000.00 | 2010-12-13 |
8 | 汤姆 | 36 | 渥太华 | 21000.00 | 2010-04-30 |
下面实例在这张表中添加新的列sex,位于age 字段之前:
alter table company add sex smallint default 1 before age;
现在表长这样,增加了sex字段,并有默认值:
id | name | sex | age | address | salary | join_date |
---|---|---|---|---|---|---|
1 | 李雷 | 1 | 37 | 北京 | 20000.00 | 2005-05-13 |
2 | 韩梅梅 | 1 | 35 | 天津 | 16000.00 | 2007-12-18 |
3 | 林涛 | 1 | 36 | 上海 | 25000.00 | 2006-01-04 |
4 | 魏华 | 1 | 36 | 西安 | 15000.00 | 2007-08-30 |
5 | 露茜 | 1 | 34 | 伦敦 | 22000.00 | 2008-08-08 |
6 | 莉莉 | 1 | 34 | 伦敦 | 22000.00 | 2008-08-08 |
7 | 吉姆 | 1 | 35 | 华盛顿 | 16000.00 | 2010-12-13 |
8 | 汤姆 | 1 | 36 | 渥太华 | 21000.00 | 2010-04-30 |
下面实例删除 sex 列:
alter table company drop sex;
得到结果如下:
id | name | age | address | salary | join_date |
---|---|---|---|---|---|
1 | 李雷 | 37 | 北京 | 20000.00 | 2005-05-13 |
2 | 韩梅梅 | 35 | 天津 | 16000.00 | 2007-12-18 |
3 | 林涛 | 36 | 上海 | 25000.00 | 2006-01-04 |
4 | 魏华 | 36 | 西安 | 15000.00 | 2007-08-30 |
5 | 露茜 | 34 | 伦敦 | 22000.00 | 2008-08-08 |
6 | 莉莉 | 34 | 伦敦 | 22000.00 | 2008-08-08 |
7 | 吉姆 | 35 | 华盛顿 | 16000.00 | 2010-12-13 |
8 | 汤姆 | 36 | 渥太华 | 21000.00 | 2010-04-30 |
下面实例在这张表中修改字段address的数据类型,并限制not null :
alter table company modify address varchar(60) not null;
下面实例在这张表中为字段salary增加check约束:
alter table company add constraint check(salary > 2000) constraint con_chk_company;
下面实例在这张表中删除约束:
alter table company drop constraint con_chk_company;
[GBase 8s 教程]GBase 8s ALTER TABLE 命令相关推荐
- php mysql修改命令_PHP编程:mysql alter table命令修改表结构实例详解
<PHP编程:mysql alter table命令修改表结构实例详解>要点: 本文介绍了PHP编程:mysql alter table命令修改表结构实例详解,希望对您有用.如果有疑问,可 ...
- postgresql表中间加列_PostgreSQL ALTER TABLE命令
PostgreSQL的ALTER TABLE命令用来添加,删除,或修改现有表中的列. www.yiibai.com 还可以使用ALTER TABLE命令添加和删除现有表上的各种制约因素. yiibai ...
- mysql alter table if_MySQL中的alter table命令的基本使用方法及提速优化
一.基本用法 1. 增加列 ?1alter table tbl_nameadd col_name type 例如, 给pet的表增加一列 weight, ?1mysql>alter table ...
- [GBase 8s 教程]GBase 8s NULL值处理
NULL 值代表遗漏的未知数据.使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据, 但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. NULL 值与任何其它 ...
- [GBase 8s 教程]GBase 8s 创建表格
GBase 8s 使用 CREATE TABLE 语句来创建数据库表格. 语法 CREATE TABLE 语法格式如下: CREATE TABLE [ IF NOT EXISTS ] table_na ...
- [GBase 8s 教程]GBase 8s 运算符/函数
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号. GBase 8s 运算符是一个保留关键字或字符,一般用在 WHERE 语句中,作为过滤条件. 常见的运算符/函数有: 算术运算符/函数 比较运算 ...
- [GBase 8s 教程]GBase 8s 分页语法
GBase 8s 中支持使用SKIP m FIRST/LIMIT n 选项,或者使用TOP m,n 选项来限制SELECT语句中查询的数据的数量. 注:两者不可同时使用. 语法 带有SKIP m FI ...
- [GBase 8s 教程]GBase 8s UNION 操作符
GBase 8s UNION 操作符合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每个 SEL ...
- [GBase 8s 教程]GBase 8s 自动增长(AUTO INCREMENT)
AUTO INCREMENT(自动增长) 会在新记录插入表中时生成一个唯一的数字. GBase 8s 使用序列来标识字段的自增长,数据类型有 serial.serial8 和 bigserial . ...
最新文章
- The ECDSA host key for XXX has changed
- NRFI:网络结点不会指数增加的「神经随机深林模拟」
- django性能优化缓存view详解
- Kettle和ETL的基本构成
- Java 分页,两种方式的分页,即取即用的代码,不客气
- python对话框代码_Python、tkinter、复杂对话框和代码结构
- jquery自动触发事件
- Unknown column 'XXX' in 'where clause'一例排查
- java中apache安装与配置_Apache应用服务器之四:Apache与Tomcat安装与配置
- jdk1.8_googleV3免费下载(API中文文档)
- python win7 win10_Python如何获取Win7,Win10系统缩放大小
- linux libpng dev,linux下实用图形库--libpng下载地址及说明
- 多线程编程warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 错误解决
- 作为一个大学才开始入门学计算机编程的孩子想要的东西-----听我扯,你蛋疼,他菊紧,我开心...
- Excel通过图片名插入图片
- JSON.stringify初步使用
- 跨境爆款ANC主动降噪耳机,蓝牙耳机厂家分享产品详细参数
- “算力经济”时代扑面而来,智算中心成未来数据中心进化方向
- java io合并两个txt文件_java将多个txt文件合并成一个文件
- 谐振电路及品质因数(二)
热门文章
- Ubuntu 各特色版已同意停止使用 Flatpak 作为其操作系统的默认打包系统
- matlab 类写法,matlab中函数表达式的写法
- 华师计算机应用基础知识,华师计算机应用基础课后习题答案.doc
- 奢侈手机鼻祖Vertu走下神坛 但为什么国产厂商却掀起了奢华风?
- 前Vertu设计师推出Android版iBeacon,无需专有硬件,没话费的旧手机都能做基站
- Linux:配置tomcat
- 【Http请求工具类】
- 互联互通-标准化成熟度指标分析(更新中)
- 测试基础+性能测试+自动化测试面试题(含答案)
- 基于ROS的qbo机器人