约束

约束_第1张图片
微信图片_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

你可能感兴趣的:(约束)