模式与表,修改,删除基本表
1.模式与表
每一个基本表都属于某一个模式,一个模式包含多个基本表。当定义基本表时有三种方法定义它所属的模式
方法一 | 在表名中明显的给出模式 | create table ‘S-T’.Student(...) |
方法二 | 在创建模式语句中同时创建表 |
create schema test authorization zhang(为用户张创建一个test模式并且在其中定义一个表) create table ‘S-T’.Student(...) |
方法三 | 创建基本表时若没有给出指定模式,系统根据搜索路径来确定该对象所属模式 |
SHOW search_path (显示当前搜索路径) SET search_path TO 'S-T',PUBLIC(设置搜索路径) |
2.修改基本表
随着应用环境和应用需求的变化,有时需要修改已简历好的基本表。
格式为:
alter table 表名
add 新列名 数据类型 [约束条件] //添加新的列
drop 列名 [cascade | restrict] //删除表中的列,如果指定了cascade短语,则自动删除引用了该列的其他对象。如果指定了restrict短语,如果该列被其他对象引用,则拒绝删除该列
alter column 列名 数据类型 //修改原有的列定义 包括修改列名和数据类型
例1: Student 表增加‘入学时间’列,其数据类型为日期型
alter table Student add S_entrance DATE; //新增加的列一律为空值
例2:将年龄的数据类型由字符型改为整数
alter table Student alter column Sage int;
3.删除表
当某个表不需要的时候,可以使用drop table 删除它。格式为:
drop table 表名 [restrict | cascade]; 选择restrict,如果该表存在依赖关系,此表则不能被删除。如果选择cascade,则没有限制条件(删除基本表的同时,相关依赖的表也会删除)
例3:删除Student表
drop table Student cascade; //级联:删除该表的所有包括依赖关系表也会删除;