zoukankan      html  css  js  c++  java
  • [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 <表名>
    
    

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

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

  • 相关阅读:
    语料和文本处理
    seq2seq+torch7聊天机器人bug处理
    unity3d inputfield标签控制台打印object
    多种语言tcp编程
    处理json中的空格
    安卓无法访问Azure服务器和微软API
    Xamarin/Unity3d无法访问Azure服务器或者微软API
    unity3d C# soket客户端接受失败
    unity3d之public变量引发错误
    unity3d,java,c#,python,rospy的socket通信测试
  • 原文地址:https://www.cnblogs.com/xxmmqg/p/13738215.html
Copyright © 2011-2022 走看看