约束

微信图片_20171216205127.png
  • 定义约束

constraint (列级,表级)
not null 只能定义在列级上
foreign key (列级,表级)
primary key (列级,表级)
check (列级,表级)

create table class(
name varchar(20) not null/unique)
  • 主键数据唯一,并且不能为空值
create table class(
id number constraint class_id_pk primary key,
 name varchar(20) 
 )
  • 外键必须是其他表里的主键或者唯一键
create table student(
id number,
name varchar2(20),
class_id number,
constraint student_classid_fk foreign key(class_id) references class(id)
on delete cascade
)
  • on delete cascade级联删除:主键行删除,将所有引用该主键的外键信息删除
  • on delete set null:主键行删除,将所有引用该主键的外键信息变为null
  • check约束:确保列中的数据满足条件
create table emp(
sal number(8,2) constraint emp_sal_min check (sal>0)
)
  • 追加约束
alter table emp 
add constraint emp_sal_ch check (sal>0)
  • 删除约束
alter table emp 
drop primary key|unique(column)|constraint emp_sal_ch
  • 删除该约束和与其相关的所有约束
alter table dept 
drop primary key emp_sal_ch cascade
  • 启用和禁用约束
alter table emp 
disable constraint emp_sal_ch
alter table emp 
enable constraint emp_sal_ch
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容