数据库约束 1、非空约束 DROP TABLE member PURGE; CREATE TABLE member( mid number , name varchar2(20) not null, email varchar2(30) , constraint pk_mid PRIMARY KEY(mid) ); insert into member(mid,name,email)values(10,'李四','111') 2、唯一约束 null不受null约束 设置别名 UNIQUE,NK 查看约束 user_constraints; CREATE TABLE member( mid number, name varchar2(20) not null, email varchar2(30) , constraint uk_email UNIQUE(email) ); 3、主键约束 =唯一约束+非空约束 DROP TABLE member PURGE; CREATE TABLE member( mid number , name varchar2(20) not null, email varchar2(30) , constraint pk_mid PRIMARY KEY(mid) ); 一般正常情况,一张只有一个主键 但也有符合主键 复合主键 DROP TABLE member PURGE; CREATE TABLE member( mid number , name varchar2(20) not null, email varchar2(30) , constraint pk_mid_name PRIMARY KEY(mid,name) ); 4、检查约束(check,ck) DROP TABLE member PURGE; CREATE TABLE member( mid number , name varchar2(20) not null, email varchar2(30) , age number(3) constraint ck_age CHeck(age between 0 and 250) ); insert into member(mid,name,email,age)values(10,'李四','111',330); 5、外键 DROP TABLE member PURGE; CREATE TABLE member( mid number , name varchar2(20) not null, constraint pk_mid PRIMARY KEY(mid) ); DROP TABLE book PURGE; CREATE TABLE book( bid number , title varchar2(20), mid number, constraint pk_bid PRIMARY KEY(bid), constraint fk_mid FOREIGN KEY(mid) REFERENCES member(mid) ON DELETE CASCADE ); insert into member(mid,name)values(10,'zs'); insert into member(mid,name)values(20,'lisi'); insert into member(mid,name)values(30,'wangwu'); insert into book(bid,title,mid)values(1,'java',10); insert into book(bid,title,mid)values(2,'java1',20); insert into book(bid,title,mid)values(3,'java2',30); insert into book(bid,title,mid)values(44,'java2',40); 限制一:删除父表需要先删除子表 强制删除:不关注子表是否存在,父表直接删除 DROP TABLE member CASCADE CONSTRAINT; 限制二:外键在父类中必须为主键或唯一约束 限制三:默认情况下父类中在子类中有被使用的数据,不能被直接删除 数据级联删除 DROP TABLE book PURGE; CREATE TABLE book( bid number , title varchar2(20), mid number, constraint pk_bid PRIMARY KEY(bid), constraint fk_mid FOREIGN KEY(mid) REFERENCES member(mid) ON DELETE CASCADE ); 级联跟新 DROP TABLE book PURGE; CREATE TABLE book( bid number , title varchar2(20), mid number, constraint pk_bid PRIMARY KEY(bid), constraint fk_mid FOREIGN KEY(mid) REFERENCES member(mid) ON DELETE SET null ); 约束修改 DROP TABLE member PURGE; CREATE TABLE member( mid number , name varchar2(20) ); insert into member(mid,name) values(1,'张三'); 1/添加约束 ALTER TABLE 表名称 ADD CONSTRAINT 约束名称 约束类型(字段)[其他选项] ALTER TABLE member ADD CONSTRAINT pk_mid PRIMARY KEY(mid); 增加非空 ALTER TABLE member MODIFY(name varchar2(20) NOT null); 删除约束 ALTER TABLE member DROP CONSTRAINT pk_mid;
orcal - 约束
猜你喜欢
转载自www.cnblogs.com/jinyu-helloword/p/10765419.html
今日推荐
周排行