用户自定义完整性

用户自定义完整性 定义. 用户自定义完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。. 主要包括非空约束、唯一约束、检查约束、主键约束、外键约束。
-- 用户自定义完整性
-- unique
-- 
-- 列级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;
-- 注意这里是sname varchar(8) unique, unique + not null  = key PRIMARY-- 表级(就是多个unique 联合, cname,ccredit不能都相同哦, 但是可以有一个不同,或者都不同)
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,null,null);
--    insert into course(cno,cname,cpno,ccredit)values("002",null,null,null);
-- null与null之间互不相同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);
-- 	 上面这两条语句, 只有一个能成功,-- 	 drop table course;select * from course;-- 删除unique,必须有名称才可以删除吧, 所以可以在表中定义constraint u_c_01 unique(cname,ccredit),然后进行删除,
-- 删除时, 是drop index u_c_01(名称)alter table course drop index u_c_01;-- 其它
-- 
-- null (not null)
-- 
-- default
-- 
-- zerofill
-- 
-- unsigned
-- 
-- auto_increment
-- 
-- (1) 定义表的创建
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","李志勇");
-- 	这里的id是递增的select * from student;
-- (2)修改表的时候用modify(小修改)alter table student modify ssex char(4) not null;
-- 	 修改后表的属性已经变了insert into student(sno,sname,ssex)values("091003","肖娜","女");select * from student;-- (3)修改表的时候用change(大修改)alter table student change sbirth sage date default"2021-10-11";insert into student(sno,sname,ssex)values("091004","谢菲菲","女");select * from student;


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部