[SQL]修改和删除基本表

修改基本表

SQL语言用alter table语句修改基本表,其一般格式如下:

alter table <表名>
	add <列名> <数据类型> [<列级完整性约束>] |
	drop [constraint] <完整性约束名> |
	drop column <列名> |
	alter column <列名> <数据类型>

说明:

  1. <表名>是要更改的表的名字
  2. add字句用于增加新列以及新的完整性约束条件。新增的列不能为not null约束,因为新增加的列一律为空值。
  3. drop constraint字句用于删除完整性约束条件。
  4. drop column字句用于删除原有的列。当在基本表中删除某一个列时,所有引用该列的视图和约束也一起自动被删除。有的系统规定若删除某一个列时,只有当没有视图和约束引用该列时才能删除,否则拒绝删除。
  5. alter column字句用于更改原有列的类型和宽度。有的系统不允许对列名和数据类型进行修改,以免原有基本表中的数据丢失。

例如:

  1. 向图书表中增加“出版年份”列,其数据类型为日期型:

    alter table 图书 add 出版年份 date;
    
  2. 向借阅表增加“借阅日期<还书日期”的约束条件:

    alter table 借阅 add constraint C_JY check (借阅日期<还书日期);
    

    或:

    alter table 借阅 add check (借阅日期<还书日期);
    
  3. 删除图书表中图书名称取唯一值的约束

    alter table 图书 drop constraint unique(图书名称);
    

    或:

    alter table 图书 drop unique(图书名称);
    
  4. 删除图书表中“出版年份”列:

    alter table 图书 drop column 出版年份;
    
  5. 将图书表中单价的数据类型改为整形:

    alter table 图书 alter column 单价 int;
    

删除基本表

drop table <表名>

基本表一旦被删除,表中的数据、此表上建立的索引和视图都将自动删除。

有的系统删除基本表后相关的视图定义仍然存在,但是当用户引用这些视图时会报错。

posted @ 2020-09-27 10:58  世纪小小孟  阅读(1255)  评论(0编辑  收藏  举报