- 表的定义
使用子查询来创建表
通过复制student表创建student_m表,只复制原表中的部分数据到新表
通过复制course表创建course01表,复制原表中的全部数据到新表
使用LIKE语法来创建表
非空约束会默认复制到新表中
create table t03(LIKE t02 INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES);
使用LIKE语法创建表不会复制原表的数据到新表中。
修改表
修改表名
修改course01表的名字为course0LD
alter table 原表名 rename to 新表名;
修改列名
修改course0LD表的cname列的名字为cno_name
alter table 表名 rename原列名 to 旧列名;
修改约束名
修改exam.soure表的外键约束con_fk的名字为course_con_fk
alter table 表名 rename CONSTRAINT 旧外键约束名 to 新外键约束名;
修改表的模式
移动exam.score表到新建的sch01模式下
alter table表名 set schema 模式名 ;
移动表到其他表空间
新建表空间tbs01和tbs02
创建表空间所使用的目录并设置目录属主、属组和文件系统权限
创建两个表空间分别指向对应的目录
create tablespace 表空间名 location '本地目录';
查看待移动的原始表空间,然后迁移表到表空间tbs01中
查看原始的表空间
迁移表到新表空间
alter table 表名 set tablespace 新表空间名;
查看迁移后的结果
将tbs01表空间中的所有表全部迁移到表空间tbs02
alter table ALL IN TABLESPACE 元表空间名 set tablespace 新表空间名;
修改表的其他定义
增加列
在表t02中增加列address,类型为varchar,精度为30
alter table 表名 ADD column 要增加的字段名 数据类型(精度);
删除列
删除t02中的address字段
alter table 表名 drop column 要删除的列名 ;
修改表字段类型
修改表t02的部分字段类型
alter table 表名 alter COLUMN 字段名 type 新类型,alter column 字段名 type 类型;
金仓数据库支持的字段数据类型
常用数据类型