修改表结构及表的约束的添加和删除

修改表结构
  1. 增加新列,语法如下,注意通过新增新列可以对新列的名称数据类型缺省值约束指定,增加的新列总是位于最后,假如新列定义了默认值,则新列所有行自动填充默认值,对于所有数据的表,新增加的新列的值为null,所有有数据的表,新增新列不能指定为not null约束条件

    alter table 表名 add 列名 数据类型 [default  表达式]  [ conlumn constraint ];
    --增加多列
    alter table 表名 add (列名 数据类型 [defaulet 表达式] [column constraint]...);
  2. 修改列,语法如下

    alter table 表名 modify 列名 数据类型 [default 表达式] [column constraint];
    ---如果对表同时修改多列
    alter table 表名 modify (列名 数据类型 [default 表达式][column constraint].....);

    其中列名是修改列的标识,不能修改,如果要改变表的列名,只能先删除,再增加。其他部分都可以修改,如果没有给出新的定义标识该部分数据不变化。

    注意:1)列的宽带可以增加或减小,在表的列没数据或者数据为NULL时才能减小宽度。

    2)在表的列没数据或者数据为NULL时才能改变数据类型。varchar2和char之间可以随意转换。

    3)只有当列的值非空时,才能增加约束条件 not null。

    4)修改列的默认值,只影响以后插入的数据。

  3. 删除列 语法如下

    alter table 表名 drop column 列名 [cascade constraint]
    --如果对表同时修改多列
    alter table 表名 drop (列名1,列名2) [cascade constraint];

    当删除列时,列上的索引和约束条件被同时删除。但如果列是多列的约束的一部分,则必须指定cascade constraint 才能删除约束条件


 

修改表约束的添加和删除

表约束指数据完整性和参照完整性,可以为表的增加表约束条件或者删除表约束条件。

  1. 增加约束条件 ,语法如下

    --语法
    alter table 表名 add constraint [约束名] 表级约束条件 (列名)
    --eg:
    alter table emp add constraint fk_deptno foreing key (depton) reference dept(deptno);
  2. 删除约束 ,语法如下

    --语法
    alter table 表名 drop primary key|unique(列名)|constraint 约束名 [cascade]

     

 

posted @   翻滚的小井蛙  阅读(152)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示