五种常见约束
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()) primary key,
customerId char() references customer(customerId),
price number(,) check (price>) ,
email varchar2() unique,
sex char() default '男' check (sex in('男','女') ),
nums number() check(nums between and )) ;
表建立之后增加约束
not null 使用 modify 其他约束增加使用 add
alter table 表名 modify sex not null;
alter table 表名 add constraint 约束名称 unique(约束字段);
删除约束
若两张表有主从关系 主键 或者外键 使用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(),
cardId varchar2() constraint cardunique unique);
表级定义
在定义完所有字段之后 再建立约束
但 not null 只能在列级定义
create table user(id number(),cardId varchar2(),
constraint pk_userId primary key(id),
constraint cardunique unique(cardId));