五种约束进行定义:
非空约束:如果使用了非空约束的话,则以后此字段的内容不允许设置成null;
唯一约束:即:此列的内容不允许出现重复;
主键约束:表示一个唯一的标识,例如:人员ID不能重复,且不能为空;
检查约束:用户自行编写设置内容的检查条件;
主-外键约束(参照完整性约束):是在两张表上进行的关联约束,加入关联约束之后就产生父子的关系。
非空约束:not null
CREATE TABLE member(mid NUMBER ,nameVARCHAR2(200) NOT NULL) ;
唯一约束:unique
CREATE TABLE member(mid NUMBER ,
name VARCHAR2(200) NOT NULL ,
email VARCHAR2(50) ,
CONSTRAINT uk_email UNIQUE (email)) ;
如果多行在email中出现多个NULL是可以的
主键约束 = 非空约束 + 唯一约束 PRIMARY KEY
CREATE TABLE member(mid NUMBER ,
name VARCHAR2(200) NOT NULL ,
email VARCHAR2(50) ,
CONSTRAINT pk_mid PRIMARY KEY (mid) ,
CONSTRAINT uk_email UNIQUE (email)) ;
检查约束:check
CONSTRAINT ck_sex CHECK (sex IN (‘男’,‘女’))
外键约束:foreign
CREATE TABLE member (mid NUMBER ,
name VARCHAR2(200) NOT NULL ,
CONSTRAINT pk_mid PRIMARY KEY (mid)) ;
CREATE TABLE advice (adid NUMBER ,
content CLOB NOT NULL ,mid NUMBER ,
CONSTRAINT pk_adid PRIMARY KEY (adid) ,
CONSTRAINT fk_mid FOREIGN KEY(mid) REFERENCES member(mid)) ;
级联操作:ON DELETE CASCADE
此时可以直接删除主表数据,子表数据也将删除
CONSTRAINT fk_mid FOREIGN KEY(mid) REFERENCES member(mid) ON DELETE CASCADE) ;
drop table member cascade constraint 强制删除主表内容但是字表内容不变