oracle约束-constraint

来源:互联网 发布:淘宝直播卖衣服要钱么 编辑:程序博客网 时间:2024/04/28 19:53

五种常见约束
1.not null
2.unique
3.primary key
4.foreign key
5.check 强制行数据必须满足的条件 如必须大于5小于100;

建一张purchase表

  • customerId 是外键
  • price 必须大于0
  • email 不能重复
  • sex 只能是男女,默认男
  • 购买数量nums 必须是1到30
create table purchase(goodsId char(8)) primary key,customerId char(8) references customer(customerId),   price  number(5,2) check (price>0) , email varchar2(50) unique,sex char(2) default '男' check (sex in('男','女') ), nums number(5) check(nums between 1 and 30)) ;

表建立之后增加约束
not null 使用 modify 其他约束增加使用 add

alter table  表名  modify sex not null;alter table 表名 add constraint  约束名称 unique(约束字段);

删除约束

alter table 表名  drop constraint 约束名称;

若两张表有主从关系 主键 或者外键 使用cascade 级联删除

alter table 表名  drop primary key cascade;

查询约束
数据字典视图 user_constraints 显示当前用户的所有约束信息

select constraint_name,constraint_type,status,validated from user_constraints where constraint_name='约束名称';

显示约束列

select column_name,position fromuser_cons_columns where constraint_name='约束名称';

列级定义
在建字段的时候将约束也一起建立

create table user(id number(8),cardId varchar2(18) constraint cardunique unique);

表级定义
在定义完所有字段之后 再建立约束
但 not null 只能在列级定义

create table user(id number(8),cardId varchar2(18),constraint pk_userId primary key(id),constraint cardunique unique(cardId));
0 0
原创粉丝点击