(1)主键约束的创建与应用
① 利用course表创建一个新表course1;
create table course1 as select * from course;
② 创建course1的主键约束,字段名为cname;
alter table course1 add primary key(cname);
③ 删除主键约束,重新创建主键值约束,字段名为courseno;
alter table course1 drop primary key;
alter table course1 add primary key(courseno);
④ 验证主键约束,观察主键值重复时的数据输入情况;
insert into course1 values(‘c05188’,‘电子技术’,‘必修’,‘64’,‘16’,‘2’);
insert into course1 values(‘c05188’,‘编译原理’,‘必修’,‘64’,‘20’,‘3’);
由于有主键约束,课程号重复时插入失败。
(2)外键约束的创建和应用
① 利用score表创建一个新表score1;
create table score1 as select * from score;
② 对表score1添加外键;
alter table score1 add constraint fk_cou_score foreign key(courseno) references course1(courseno);
③ 验证外键约束,观察外键值对数据插入情况的影响;
insert into score1 values (‘18137221508’,’c05188’,94,92);
insert into score1 values(‘18137221508’,’c05111’,98,99); //course1表中无‘c05111’课程号
由于有外键约束,无效课程号无法插入成绩。
(3)检查约束的创建和应用
① 创建检查约束,final值以0~100为界值
alter table score1 add constraint sc_check1 check (final>=0 and final<=100);
② 验证检查约束,观察合法与非法数据插入的情况
insert into score1 values(‘1912611337’,’c05109’,94,95);
insert into score1 values(‘1912611337’,’c05108’,94,115);
由于有检查约束,第二条记录的final值大于100,因此插入失败。
(4)唯一约束的创建和应用
① 创建唯一约束
alter table student add unique(phone);
② 验证唯一约束,观察重复值数据插入的情况
select * from student;
insert into student values('19101020201','梅清','女','2001/9/7','787','13611112222','mei@163.com');
insert into student values('19101020202','乐乐','男','2001/9/27','800','13611112222','le@126.com');
由于手机号码有唯一约束,因此第二条记录不能插入成功。
(5)非空约束的应用。主键字段值不允许为null,输入控制观察结果
insert into course1 values (null,'计算机网络','必修','64','16','2');
由于主键有非空约束,因此记录插入失败。
(6)利用可视化工具workbench管理表的约束。可以通过可视化的窗口,对表结构中字段后面的复选按钮管理主键约束,唯一约束和非空约束。如果单击foreign keys 标签,还可以管理外键约束。
后续将每日更新一篇!小白一枚,欢迎交流学习。
Sql脚本可以私信我!