用户自定义完整性 定义. 用户自定义完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。. 主要包括非空约束、唯一约束、检查约束、主键约束、外键约束。
create table student
(
sno char(6) primary key,
sname varchar(8) unique,
ssex char(2),
sbirth date,
sdept varchar(20)
);
insert into student(sno,sname,ssex,sbirth,sdept)
values("091001","李志勇","男","2000-09-18","软件工程");
insert into student(sno,sname,ssex,sbirth,sdept)
values("091002","李志勇","男","2001-09-18","软件工程");
select * from student;
create table course
(
cno char(3) primary key,
cname varchar(20),
cpno char(3),
ccredit tinyint,
constraint u_c_01 unique(cname,ccredit)
);
insert into course(cno,cname,cpno,ccredit)values("001","大学计算机",null,2);
insert into course(cno,cname,cpno,ccredit)values("002","大学计算机",null,4);
insert into course(cno,cname,cpno,ccredit)values("003","大学计算机","001",4);
select * from course;
alter table course drop index u_c_01;
drop table student;
create table student
(
id int(5) zerofill unsigned auto_increment primary key,
sno char(6) not null,
sname varchar(8) unique,
ssex char(2) default "男",
sbirth date default "2020-09-18",
sdept varchar(20) default "软件工程"
);
insert into student(sno,sname)values("091001","郑航飞");
insert into student(sno,sname)values("091002","李志勇");
select * from student;
alter table student modify ssex char(4) not null;
insert into student(sno,sname,ssex)values("091003","肖娜","女");
select * from student;
alter table student change sbirth sage date default"2021-10-11";
insert into student(sno,sname,ssex)values("091004","谢菲菲","女");
select * from student;