当前课程知识点:MySQL数据库案例教程 >  第2章 数据库和表的基本操作 >  2.4 约束设置 >  2-4约束设置视频

返回《MySQL数据库案例教程》慕课在线视频课程列表

2-4约束设置视频在线视频

下一节:2-4约束设置课件

返回《MySQL数据库案例教程》慕课在线视频列表

2-4约束设置视频课程教案、知识点、字幕

同学们好

今天我们来学习第2章

数据库和表的基本操作

本次课的内容是约束

我们先看一个案例

将以下两位员工信息录入表格中

新来的工作人员

由于经验不足

不小心将两人的工号录成一样了

造成两个人共用一个工号

如此错误

我们该如何避免呢

在MySQL中

如果想针对表中的数据做一些完整性检查

可以通过表的约束来完成

MySQL支持多种约束

本节课将详细介绍

关于表的约束

我们先学习主键约束

主键约束是表中一列或多列的组合

通过PRIMARY KEY定义

主键是表的一个特殊字段

该字段能唯一标识该表中的每一条信息

主键又分为单字段主键和多字段主键

单字段主键由一个字段组成

其语法格式为

字段名 数据类型 PRIMARY KEY

我们来看一个案例

案例1 创建课程表course

将课程号cno设置为主键

打开MySQL可视化工具

我们先使用USE stu 命令

选择stu数据库

再使用DROP TABLE course命令

将之前创建的course表删除

然后输入创建表命令

请同学们注意

本次课程中使用的表

在表的操作和数据类型中

我们都已经见过

所以本次课程

对于创建表的基本语句

我们不再详细讲解

直接使用

在字段cno的数据类型后边

添加PRIMARY KEY关键字

将这三条语句

选中 执行

执行成功后

course表就创建成功了

并且已经将cno设置为主键了

我们再通过DESC course命令

查看一下表结构

选中 执行

从查询结果可以看到

已经将cno设置为主键了

多字段主键

是指多个字段组合而成的主键

其语法格式为

PRIMARY KEY(字段名1 字段名2 字段名n)

注意

当主键是由多个字段组成时

不能直接在字段名后面

接下来我们看一个案例

案例2 创建数据表score

将sid和cno两个字段共同作为主键

先将之前创建的score表删除

输入命令 DROP TABLE score

同样创建score表的语句

我们也直接使用

不再详细讲解

在最后一个字段后边添加逗号

添加 PRIMARY KEY(sid,cno)

选中 执行

执行成功后

score 表就创建成功了

并将sid 和cno两列设置为了主键

我们通过DESC score命令

查看一下表结构

可以看到

sid 和cno两列确实被设置为主键了

外键约束经常和主键约束一起使用

用来确保数据的一致性

我们会在后续章节详细讲解

接下来我们学习非空约束

非空约束

是用来约束表中的字段不能为空

在MySQL中使用关键字 NOT NULL

来约束该列的值不能为空

其语法格式为

字段名 数据类型 NOT NULL

我们看一个案例

案例3 创建课程表course

将课程名cname设置为非空

我们先将之前创建的数据表course删除

输入命令 DROP TABLE course

在cname 字段后

添加NOT NULL非空约束

选中 执行

可以看到执行成功了

我们再查看一下表结构

可以看到cname添加了非空约束

接下来我们学习唯一约束

唯一约束

通常设置在除了主键以外的其它列上

在定义完列之后

直接使用UNIQUE关键字指定唯一约束

语法格式如下

字段名 数据类型 UNIQUE

唯一约束

是指所有记录中字段的值不能重复出现

唯一约束与主键约束相同点是

它们都可以确保列的唯一性

不同的是

唯一约束在一个表中可以有多个

而且

唯一约束的列允许有空值

而主键约束

在一个表中只能有一个

且不允许有空值

接下来我们看一个案例

案例4 创建课程表course

将课程名cname设置为唯一

我们先输入命令 DROP TABLE course

然后在cname字段后

添加UNIQUE

唯一约束

选中 执行

可以看到执行成功了

我们再查看一下表结构

可以看到cname设置了唯一约束

接下来我们学习检查约束

检查约束

是用来检查数据表中字段值的有效性

从MySQL8.0.16版本开始

MySQL开始真正意义上支持检查约束

创建表时

在表中某个列的定义后

加上关键字CHECK

后边跟上表达式

通过后边的表达式来约束该列的值

其语法格式如下

字段名 数据类型CHECK <表达式>

其中“表达式”指的就是 SQL 表达式

用于指定需要检查的限定条件

接下来我们看一个案例

案例5 创建课程表score

要求分数result

字段值大于等于0且小于等于100

我们先将之前创建的数据表score删除

输入命令 DROP TABLE score

在score表的字段result的类型FLOAT后

添加check(result >=0

AND result <=100)

选中 执行

可以看到执行成功了

我们再查看一下表结构

result 的检查约束并没有显示出来

那如何确定是否设置成功了呢

我们人为添加两条数据测试一下

我们在SQLYog左侧的资源管理器里

找到stu数据库

找到其下的score表

鼠标右键打开表

输入数据 1 0101 01 80

再输入一条数据 2 0101 03 110

这条语句result 已经在check约束范围外

弹出了错误提示框

在错误信息中可以看到

它违反了检查约束

我们在设置检查约束时

要根据实际情况进行设置

这样才能够减少无效数据的输入

接下来我们学习默认值约束

默认值

用来指定某列的默认值

创建表时

可以使用DEFAULT关键字

设置默认值约束

具体的语法格式如下

字段名 数据类型 DEFAULT <默认值>

接下来我们看一个案例

案例6 创建学生表student

将表中department字段的默认值

设置为信息工程系

我们先将之前创建的数据表

student删除

DROP TABLE student

在student表的department字段的数据类型后

添加DEFAULT '信息工程系'

选中 执行

可以看到执行成功了

我们再查询一下表结构

可以看到department

设置了默认值信息工程系

接下来我们学习最后一部分

自增长设置

在 MySQL 中

当主键定义为自增长后

这个主键的值就不再需要用户输入数据了

而由数据库系统根据定义

自动赋值

每增加一条记录

主键会自动以相同的步长进行增长

其语法格式为

字段名 数据类型 AUTO_INCREMENT

接下来我们看一个案例

案例7 创建数据表score

将scid 字段设置为自增长

我们先将之前创建的score表删除

输入命令 Drop table score

我们先将之前创建的score表删除

输入命令 Drop table score

在score表的字段scid 后边

添加primary key auto_increment

选中 执行

执行成功后

score 表就创建成功了

我们查看一下表结构

可以看到scid 字段

被设置为自增长了

以上是本节课的全部内容

给大家留一个综合实践题

按下列要求完成三个表的创建

1 根据表中要求添加各种约束

创建表student

2 根据表中要求添加各种约束

创建表course

3 根据表中要求添加各种约束

创建表score

请同学们利用下课时间来完成这些实践题

最后

我们对本次课进行总结

我们学习了

1 主键约束

主键约束是使用最频繁的约束

2 非空约束

用来约束表中的字段不能为空

3 唯一约束

唯一约束是指所有记录中字段的值

不能重复出现

4 检查约束

检查约束是用来检查数据表中

字段值是否有效的一个手段

5 默认值约束

用来约束当前数据表中

某个字段不输入值时

自动为其添加一个已经设置好的值

最后我们学习了自增长设置

每增加一条记录

主键会自动以相同的步长进行增加

在 MySQL 中

约束能够帮助数据库管理员

更好地管理数据库

并且能够确保数据库中

数据的正确性和有效性

同理 我们要明白

国不可一日无法

家不可一日无规

无规矩不成方圆

我们一定要遵规守纪

方能造就人生

本次课就讲到这里

谢谢 再见

MySQL数据库案例教程课程列表:

第1章 数据库基础知识

-1.1 数据库基础知识

--1.1 数据库基础知识视频

--1-1数据库基础知识课件

-1.2 MySQL的安装与运行

--1-2MySQL安装与运行视频

--1-2MySQL安装与运行课件

--1-2MySQL安装与运行实训

-第1章 测试

第2章 数据库和表的基本操作

-2.1 数据库的基本操作

--2-1数据库的基本操作视频

--2-1数据库的基本操作课件

--2-1数据库的基本操作实训

-2.2 表的基本操作

--2-2表的基本操作视频

--2-2表的基本操作课件

--2-2表的基本操作实训

-2.3 MySQL数据类型

--2-3MySQL数据类型视频

--2-3MySQL数据类型课件

--2-3MySQL数据类型实训

-2.4 约束设置

--2-4约束设置视频

--2-4约束设置课件

--2-4约束设置实训

-2.5 索引

--2-5索引视频

--2-5索引课件

--2-5索引实训

-第2章测试

第3章 记录操作

-3.1 插入记录

--3-1 插入记录视频

--3-1插入记录课件

--3-1插入记录实训

-3.2 修改记录

--3-2修改记录视频

--3-2修改记录实训

--3-2修改记录课件

-3.3 删除记录

--3.3删除记录

--3-3删除记录实训

--3-3删除记录课件

-第3章 测试

第4章 查询与视图

-4.1 select语句

--4.1select 语句视频

--4-1select语句课件

--4-1select语句实训

-4.2 单表查询

--4-2-1select子句

--4-2-2where子句

--4-2-3group子句

--4-2单表查询实训

-4.3 多表查询

--4-3多表查询视频

--4-3多表查询课件

--4-3多表查询实训

-4.4 子查询

--4-4子查询视频1

--4-4子查询视频2

--4-4子查询课件

--4-4子查询实训

-4.5 外键

--4-5外键视频

--4-5外键课件

--4-5外键实训

-4.6 视图

--4-6视图视频1

--4-6视图视频2

--4-6视图课件

--4-6视图实训

-第4章测试

第5章 高级操作

-5.1 函数

--5-1自定义函数视频

--5-1系统函数

--5-1函数课件

--5-1 函数实训

-5.2 流程控制语句

--5-2流程控制语句视频

--5-2流程控制课件

--5-2流程控制实训

-5.3 事务与游标

--5-3事务与游标视频

--5-3事务与游标课件

--5.3事务与游标实训

-5.4 存储过程

--5-4存储过程视频

--5-4存储过程课件

--5-4存储过程实训

-5.5 触发器

--5-5触发器视频

--5-5触发器课件

--5-5触发器实训

-第5章测试

第6章 备份与还原

-6.1 数据库备份与还原

--6-1数据库备份与还原 视频

--6-1数据库备份与还原 课件

--6-1数据库备份与还原 实训

-6.2 异构数据源导入导出

--6-2异构数据源导入导出 视频

--6-2异构数据源导入导出 课件

--6-2异构数据源导入导出 实训

-第6章测试

第7章 用户与权限

-7.1 用户管理

--7-1用户管理 视频

--7-1用户管理 课件

--7-1用户管理 实训

-7.2 权限管理

--7.2 权限管理 视频

--7.2 权限管理 课件

--7.2 权限管理 实训

-7.3 应用实例开发

--7-3应用实例开发 视频

--7-3应用实例开发 课件

--7-3应用实例开发 实训

-第7章测试

2-4约束设置视频笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。