• 表的定义

使用子查询来创建表

通过复制student表创建student_m表,只复制原表中的部分数据到新表

人大金仓数据库-表的定义_数据库

 

通过复制course表创建course01表,复制原表中的全部数据到新表

人大金仓数据库-表的定义_国产数据库_02

 

使用LIKE语法来创建表

非空约束会默认复制到新表中

create table t03(LIKE t02 INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES);

人大金仓数据库-表的定义_创建表_03

 

使用LIKE语法创建表不会复制原表的数据到新表中。

修改表

修改表名

修改course01表的名字为course0LD

alter table 原表名 rename to 新表名;

人大金仓数据库-表的定义_创建表_04

 

修改列名

修改course0LD表的cname列的名字为cno_name

 alter table 表名 rename原列名 to 旧列名;

人大金仓数据库-表的定义_国产数据库_05

 

修改约束名

修改exam.soure表的外键约束con_fk的名字为course_con_fk

alter table 表名 rename CONSTRAINT 旧外键约束名 to 新外键约束名;

人大金仓数据库-表的定义_表名_06

 

修改表的模式

移动exam.score表到新建的sch01模式下

 alter table表名 set schema 模式名 ;

人大金仓数据库-表的定义_创建表_07

 

移动表到其他表空间

新建表空间tbs01和tbs02

创建表空间所使用的目录并设置目录属主、属组和文件系统权限

人大金仓数据库-表的定义_表空间_08

 

创建两个表空间分别指向对应的目录

create tablespace 表空间名 location '本地目录';

人大金仓数据库-表的定义_数据库_09

 

查看待移动的原始表空间,然后迁移表到表空间tbs01中

查看原始的表空间

人大金仓数据库-表的定义_国产数据库_10

 

迁移表到新表空间

 alter table 表名 set tablespace 新表空间名;

人大金仓数据库-表的定义_国产数据库_11

 

查看迁移后的结果

人大金仓数据库-表的定义_表空间_12

 

将tbs01表空间中的所有表全部迁移到表空间tbs02

alter table ALL IN TABLESPACE 元表空间名 set tablespace 新表空间名;

人大金仓数据库-表的定义_创建表_13

 

修改表的其他定义

增加列

在表t02中增加列address,类型为varchar,精度为30

alter table 表名 ADD column 要增加的字段名 数据类型(精度);

人大金仓数据库-表的定义_数据库_14

 

删除列

删除t02中的address字段

alter table 表名 drop column 要删除的列名 ;

人大金仓数据库-表的定义_数据库_15

修改表字段类型

修改表t02的部分字段类型

alter table 表名 alter COLUMN 字段名 type 新类型,alter column 字段名 type 类型;

人大金仓数据库-表的定义_表名_16

 

金仓数据库支持的字段数据类型

人大金仓数据库-表的定义_创建表_17

 

常用数据类型

人大金仓数据库-表的定义_表空间_18