oracle约束-constraint

五种常见约束
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 from
user_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));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值