添加/删除约束(Oracle)

增加一列或者多列 alter table 表名 add(column_name datatype[,..]); 修改一列或者多列(修改列的类型或者是长度) alter table 表名 modify(column_name datatype[,..]); 删除一列 alter table 表名 drop column column_name; 删除多列 alter table 表名 drop(column_name[,..])[@more@]建表阶段添加约束(字段级|表级) 非空约束(not null) 1)确保其所在字段值不能为空 2)非空约束只能定义为字段级别 基本语法:column_name datatype not null 唯一约束(unique) 1)确保其所在字段值不能重复 2)允许空值 3)既可以定义为字段级别也可以定义到表级别 4)可以在一个字段上建立唯一约束 (此字段值不能重复,既可以是表级别也可以是字段级别), 也可以在几个字段上建立唯一约束(这几个字段的组合值不能重复,只能是表级别的) 5)Oracle会自动为建立唯一约束的字段创建索引 字段级别:column_name datatype unique 表级别: constraint uni_name unique(column_name[,..])自定义约束名 或者 unique(column_name[,..]) 系统自动分配约束名 删除约束:alter table 表名 drop constraint 约束名; 主键约束(primary key) 1)确保所在字段值非空且唯一 2)一个表最多只允许一个主键,当然这个主键可以基于一个字段也可以基于多个字段 3)非联合主键既可以是字段级别的也可以是表级别的,联合主键只能是表级别的 4)oracle会自动为其建立索引 字段级别:column_name datatype primary key 表级别: constraint p_k primary key(column_name[,..])自定义约束名 或者 primary key(column_name[,..])系统自动分配约束名 一般情况下我们选择通过序列让系统去帮我们确保不违反主键约束 create table 表名(column_name datatype primary key,column_name2 datatype[,..]); create sequence 序列名; insert into 表名 values(序列名.nextval,值[,..]) 删除主键: alter table 表名 drop constraint 约束名; 或者 alter table 表名 drop primary key; 外键约束(foreign Key) 1)确保所在字段的值与另一个表中的字段值有一定的关联关系 2)既可以定义为字段级别也可以定义为表级别 3)被外键关联上的另一个表的字段必须唯一(即此字段必须是 unique或者primary key) 字段级别:column_name datatype reference 父表名(字段名) 表级别: constraint f_k foreign key(column_name) references 父表名(字段名) --自定义约束名 或者 foreign key(column_name) references 父表名(字段名) --系统自动分配约束名 删除父表(主表): 方式一:先删除子表或者只删除子表的外键约束 然后使用drop table 表名删父表 方式二:drop table 父表名 cascade constraints; 检查约束(check) 1)确保所在字段的值在check所给的范围里面 2)既可以定义为字段级别也可以定义为表级别 字段级别:column_name datatype check(值1,值2) 表级别:constraint c_k check(条件)--自定义约束名 或者check(条件)--系统自动分配约束名 建完表后添加约束 alter table 表名 add constraint 约束名 unique(column_name[,..])--自定义约束名 alter table 表名 add unique(column_name[,..]);--系统自动分配约束名 主键约束、外键约束、检查约束的添加形如唯一约束 非空约束的添加 alter table 表名 modify(column_name not null); 禁用约束: alter table 表名 disable constraint 约束名; 启用约束 alter table 表名 enable constraint 约束名;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7490392/viewspace-1052055/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7490392/viewspace-1052055/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值