news 2026/7/15 3:49:27

数据库约束——MySQL(一篇通)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据库约束——MySQL(一篇通)

数据库约束——MySQL

文章摘要:本文全面介绍MySQL数据库中的八种约束类型,包括NOT NULL非空约束、DEFAULT默认值约束、UNIQUE唯一约束、PRIMARY KEY主键约束、FOREIGN KEY外键约束和CHECK约束。通过学生表等实际示例,详细讲解每种约束的语法规则、应用场景和注意事项,帮助读者深入理解数据库约束在保证数据完整性、准确性和一致性方面的重要作用。文章包含丰富的SQL代码示例和操作截图,适合数据库初学者和开发者学习参考。

目录

1.什么是数据库约束

2.约束类型

3.NOT NULL非空约束

4.DEFAULT默认值约束

5.UNIQUE唯一约束

6.PRIMARY KEY主键约束

7.FOREIGN KEY外键约束

8.CHECK约束

正文

1.什么是数据库约束

数据库约束是指对数据库表中的数据所施加的规则或条件,用于确保数据的准确性和可靠性。这些约束可以是基于数据类型,值范围,唯一性,非空等规则,以确保数据的正确性和相容性。

2.约束类型

3.NOT NULL非空约束

比如创建一个学生表,学生名为空的时候,该条数据不完整。

createtablestudent(idbigint,namevarchar(30)notnull);

4.DEFAULT默认值约束

createtablestudent_info(idbigint,namevarchar(30)notnull,agebigintdefault18);
insertintostudent_info(id,name)values(1,'张三');
select*fromstudent_infowhereid=1;

5.UNIQUE唯一约束

注:指定了唯一约束的列,该列的值在所有记录中不能重复,比如一个人的身份证,学生在校的学号,电话号码等。
重构学生表,为学号列设置唯一约束

6.PRIMARY KEY主键约束

主键约束唯一标识数据库中的每条记录
主键必须包含为唯一的值,且不能包含null值
每个表只能有一个主键,可以由单个列或多个列组成
通常为每张表都指定一个主键,主键列建议使用bigint类型

7.FOREIGN KEY外键约束

1.外键用于定义主表和从表之间的关系
2.外键约束主定义在从表的列上,主表失联的列必须是主键或唯一约束
3.当定义外键后,要求从表中的外键列数据必须在主表或唯一列存在或为null。


foreignkey(id)referencesclass(id)

8.CHECK约束

可以应用于一个或多个列,用于限制列中可接受的数据值,从而确保数据的完整性和准确性。在8.0.16开始全面支持check约束。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/15 3:49:09

GLM-5在UEFI固件开发中的实战能力深度评测

1. 这不是模型参数表,而是一份UEFI开发实战手记最近三个月,我几乎把所有业余时间都泡在了UEFI Shell下的贪吃蛇项目里。不是为了做游戏,而是想亲手摸清国产大模型在真实系统级开发场景中的“手感”——那种键盘敲下去、编译跑起来、屏幕亮起来…

作者头像 李华
网站建设 2026/7/15 3:49:03

Spring事务自调用失效的深层剖析:代理机制与传播行为的博弈

1. Spring事务自调用失效的本质原因很多开发者第一次遇到Spring事务自调用失效的问题时,往往会感到困惑:明明在方法上加了Transactional注解,为什么事务就是不生效?要理解这个问题,我们需要深入Spring的事务代理机制。…

作者头像 李华
网站建设 2026/7/15 3:48:59

多模态AI在医疗术语抽取与文献分析中的技术实践

如果你是一名医疗AI研究者或开发者,最近可能遇到了这样的困境:面对海量的医学文献和临床报告,如何快速从中提取关键术语和核心观点?传统的人工阅读方式耗时耗力,而单一模态的文本分析又难以处理包含图像、表格、结构化…

作者头像 李华
网站建设 2026/7/15 3:45:08

JAVA练习288- 旋转图像

题目概览 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8…

作者头像 李华
网站建设 2026/7/15 3:43:38

Python MSS:跨平台高性能屏幕截取与图像处理实战

1. 为什么选择Python MSS进行屏幕截取?在Python生态中,屏幕截取方案并不少见,但**MSS(Multiple ScreenShots)**凭借其独特的优势脱颖而出。这个纯Python编写的跨平台库,通过ctypes直接调用系统API&#xff…

作者头像 李华
网站建设 2026/7/15 3:41:59

终极游戏模组管理指南:5分钟掌握XXMI启动器的完整使用技巧

终极游戏模组管理指南:5分钟掌握XXMI启动器的完整使用技巧 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 还在为多款游戏的模组管理而烦恼吗?你是否曾经…

作者头像 李华