MySQL系列(四)数据完整性的基本操作

(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 标签,还可以管理外键约束。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值