Lesson 4:数据库的约束类型介绍

目录

一、数据库的约束类型介绍

二、利用约束条件建立学生信息数据库


一、数据库的约束类型介绍

约束是数据库的一个重要机制,保证数据的完整性。在创建表时,每列的数据类型能完成一部分的数据校验工作,今天所讲述的约束也能实现一部分的数据校验工作。

约束类型解释
not null指定该列不能存储空值
unique规定该列的每一行必须有唯一的值
default没有给列赋值时的默认值
primary key

not null 和 unique的结合,记录的唯一身份标识,类似于身份证,不能为空也不能重复

一张表只能有一个主键,但是可以使用多个列作为一个联合主键

如果主键是一个单纯的整数,可以使用mysql提供的自增主键,即auto_increment.

foreign key保证一个表中的数据匹配另一个表中的值的参照完整性
check

保证列中的值符合指定的条件,对于MySQL数据库来说,对check子句分析,但是忽略check子句。

二、利用约束条件建立学生信息数据库

学生信息数据库,主要包含学生表、课程表和成绩表。学生和课程存在多对多的关系,选择成绩表作为中间表。

 三张表创建完后,往表中插入数据

 在插入数据时,学生表和课程表必须先插入数据,插入完成后,才能往成绩表中插入数据。

score表中的student_id必须在students表中的id这一列中存在,course_id必须在course表中的id这一列存在。如果不存在,插入会报错。如course表中不存在id=1004的课程,在成绩表中插入course_id=1004,会报错。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘减减

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值