1、先了解什么是约束
约束是表级的强制约定。有5种约束:not null , unique, primary key ,foreign key, check
2、表级约束和列级约束
作用范围:
列级约束只能作用在一个列上
表级约束可以作用在多个列上
定义方式:
列约束必须跟在列的定义后面,表约束不与列一起,而是单独定义。
not null(非空)约束只能定义在列上
unique 约束:不允许出现相同的约束,允许出现多个空值:NULL
代码:
create table table1(
id number primary key,
name varchar2(50) not null,
class varchar2(50) unique,
comment varchar2(100)
constraint table1_tel_uq unique(comment)
)

primary key 约束:
唯一标识,不允许空值
foreign key约束:
外键:在一个表中作外键,另一个表做主键
Foreign KEY:在表级中指定子表中的列
References:标识在父表中的列
ON DELETE CASCADE(级联删除):当父表中的列被删除时,子表中相对应的列也被删除。
ON DELETE SET NULL(级联置空):子表中相应的列置空
check 约束:
定义每一行必须满足的条件
代码示例:
--检查约束
create table teacher1(
fid number primary key,
fname varchar2(30),
fage number check(fage>=18 and fage<=120),
ftel varchar(30)
)