第5章 数据的完整性-【千锋教育】MySQL数据库从入门到精通

2023-03-21
| 45页
| 135人阅读
| 0人下载
教辅

内容正文:

实体完整性 索引 第5章 数据的完整性 域完整性 引用完整性 实体完整性 索引 域完整性 ☞点击查看本小节知识架构 5.2 5.3 5.1 ☞点击查看本小节知识架构 ☞点击查看本小节知识架构 引用完整性 5.4 ☞点击查看本小节知识架构 学习目标 掌握 掌握 掌握 掌握 掌握实体完整性 1 掌握引用的完整性 4 2 掌握索引 3 掌握域完整性 销售额 掌握知识 理解知识 熟悉知识 了解知识 2.5 2.5 2.5 2.5 5.1 实体完整性 返回目录 5.1.1 主键约束 5.1.2 唯一约束 5.1.3 自动增长列 5.1 实体完整性 5.1.1 主键约束 主键(primary key)用于唯一地标识表中的某一条记录。在两个表的关系中,主键用来在一个表中引用来自于另一个表中的特定记录。一个表的主键可以由多个关键字共同组成,并且主键的列不能包含空值。主键的值能唯一标识表中的每一行,这就好比所有人都有身份证,每个人的身份证号是不同的,能唯一标识每一个人。 接下来通过一个案例演示未设置主键会出现的问题。首先,创建一张订单表orders。 5.1 实体完整性 5.1.1 主键约束 表中列出了订单表的字段、字段类型和说明。创建订单表的SQL语句及执行结果如下。 然后向订单表中插入一条数据。 5.1 实体完整性 5.1.1 主键约束 从以上执行结果证明插入数据完成。为了进一步验证,使用SELECT语句查看orders表中的数据。 从以上执行结果可以看出,orders表中的数据成功插入。此时再次向表中插入数据,新插入数据的oid仍然为1。 5.1 实体完整性 5.1.1 主键约束 从以上执行结果证明插入数据完成。为了进一步验证,使用SELECT语句查看orders表中的数据。 从以上执行结果可看出,orders表中的数据成功插入,该表中此时有两条订单数据,且两个订单的oid都为1。但订单号相同,商品的付款、送货等流程都可能出现问题。为了避免这种问题,在此处可以为表添加主键约束,为已经存在的表设置主键的语法格式如下。 5.1 实体完整性 5.1.1 主键约束 以上执行结果证明删除数据完成。为了进一步验证,使用SELECT语句查看orders表中的数据。 从以上执行结果可看出,orders表中只有一条数据,不存在oid重复的数据。然后继续设置主键。 5.1 实体完整性 5.1.1 主键约束 以上执行结果证明主键添加完成。为了进一步验证,使用DESC查看表结构。 从以上执行结果可以看出,oid字段的Key值为PRI,代表主键。然后将前面删除的第二条数据再次添加进去。 5.1 实体完整性 5.1.1 主键约束 从以上执行结果可以看出,插入数据失败。这是因为主键对其进行了约束,新插入的数据主键不能重复。此处将oid的值改为2,再次插入。 以上执行结果证明插入数据完成。为了进一步验证,使用SELECT语句查看orders表中的数据。 5.1 实体完整性 5.1.1 主键约束 从以上执行结果可以看出,当oid的值不重复时插入成功。另外,主键的值不能为NULL,此处继续验证,向表中插入一条数据,将oid设置为NULL。 在以上语法格式中,字段名表示需要设置为主键的列名,数据类型为该列的数据类型,PRIMARY KEY代表主键。 以上执行结果证明定义为主键的字段值不能为NULL,否则会报错。以上是为已经存在的表添加主键约束,实际上,在创建表时同样可以添加主键约束。 5.1 实体完整性 5.1.1 主键约束 在前面的案例中讲解了添加单字段的主键约束,但随着业务的复杂,可能会需要多字段的主键约束,例如手机接收信息,这时通过手机号就不能够唯一确定一条记录,可能一个手机号在一天中接收了很多的信息。解决这个问题可以添加主键约束为手机号和时间戳两个列,根据两个列的数据,能够唯一确定一条记录。添加多字段的主键约束语法格式如下。 以上语法格式中,PRIMARY KEY中的参数表示构成主键的多个字段的名称。 5.1 实体完整性 5.1.2 唯一约束 唯一约束用于保证数据表中字段值的唯一性,在MySQL中使用UNIQUE关键字添加唯一约束。在创建表时为某个字段添加唯一约束的具体语法格式如下。 在以上语法格式中,字段名表示需要添加唯一约束的列名,列名后跟着数据类型和UNIQUE关键字,两者之间用空格隔开。 同样的,唯一约束也可以添加到已经创建完成的表中,语法格式如下。 5.1 实体完整性 5.1.3 自动增长列 在前面的学习中,数据表中的id字段一般从1开始插入,不断增加,这种做法存在一些问题,即在添加数据时比较繁烦琐,每次都要添加一个id字段的值,而且容易出错。为了解决这个问题,可以将id字段的值设置为自动增加。在MySQL中使用AUTO_INCREMENT关键字设置表

资源预览图

第5章 数据的完整性-【千锋教育】MySQL数据库从入门到精通
1
第5章 数据的完整性-【千锋教育】MySQL数据库从入门到精通
2
第5章 数据的完整性-【千锋教育】MySQL数据库从入门到精通
3
第5章 数据的完整性-【千锋教育】MySQL数据库从入门到精通
4
第5章 数据的完整性-【千锋教育】MySQL数据库从入门到精通
5
第5章 数据的完整性-【千锋教育】MySQL数据库从入门到精通
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。