[SQL]修改和删除基本表
修改基本表
SQL语言用alter table
语句修改基本表,其一般格式如下:
alter table <表名>
add <列名> <数据类型> [<列级完整性约束>] |
drop [constraint] <完整性约束名> |
drop column <列名> |
alter column <列名> <数据类型>
说明:
<表名>
是要更改的表的名字add
字句用于增加新列以及新的完整性约束条件。新增的列不能为not null
约束,因为新增加的列一律为空值。drop constraint
字句用于删除完整性约束条件。drop column
字句用于删除原有的列。当在基本表中删除某一个列时,所有引用该列的视图和约束也一起自动被删除。有的系统规定若删除某一个列时,只有当没有视图和约束引用该列时才能删除,否则拒绝删除。alter column
字句用于更改原有列的类型和宽度。有的系统不允许对列名和数据类型进行修改,以免原有基本表中的数据丢失。
例如:
-
向图书表中增加“出版年份”列,其数据类型为日期型:
alter table 图书 add 出版年份 date;
-
向借阅表增加“借阅日期<还书日期”的约束条件:
alter table 借阅 add constraint C_JY check (借阅日期<还书日期);
或:
alter table 借阅 add check (借阅日期<还书日期);
-
删除图书表中图书名称取唯一值的约束
alter table 图书 drop constraint unique(图书名称);
或:
alter table 图书 drop unique(图书名称);
-
删除图书表中“出版年份”列:
alter table 图书 drop column 出版年份;
-
将图书表中单价的数据类型改为整形:
alter table 图书 alter column 单价 int;
删除基本表
drop table <表名>
基本表一旦被删除,表中的数据、此表上建立的索引和视图都将自动删除。
有的系统删除基本表后相关的视图定义仍然存在,但是当用户引用这些视图时会报错。