-
定义约束
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