当前位置: 首页 > news >正文

数据库约束——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约束。

http://www.cnnetsun.cn/news/3387233.html

相关文章:

  • GLM-5在UEFI固件开发中的实战能力深度评测
  • Spring事务自调用失效的深层剖析:代理机制与传播行为的博弈
  • 多模态AI在医疗术语抽取与文献分析中的技术实践
  • JAVA练习288- 旋转图像
  • Python MSS:跨平台高性能屏幕截取与图像处理实战
  • 终极游戏模组管理指南:5分钟掌握XXMI启动器的完整使用技巧
  • GPT-4o端到端语音交互:多模态AI的实时性革命
  • DRA78x处理器串行通信接口全解析:从I2C到以太网的汽车电子实战指南
  • 金环宇ZC-BVR4平方阻燃软线实测:家庭布线安全指南
  • 终极指南:5步掌握鸣潮自动化工具,告别重复操作
  • Arduino项目:从零打造可扩展的八度电子琴
  • 论文分析6:基于特征解耦与形态约束的行人检测
  • 晶振校准:从误差根源到精准补偿的技术全景
  • 【单片机进阶】STC89C52流水灯编程:从基础移位到库函数调用的三种实现思路
  • 从零到一:PID控制算法核心原理与六大优化策略实战解析
  • GPU编程之OpenACC
  • 2026蓝牙耳机选购避坑指南:参数之外的四大底层体验逻辑
  • JDK21 虚拟线程实战:MySQL 8.4.0 仍报 Pinning?升级 9.x 才是终极解法
  • 模板驱动型文档自动化:从Word手工到结构化流水线
  • CSDN 原力 Beta 测试:算法如何重塑技术社区影响力评估?
  • TileGym实战:基于Tile思维的GPU编程与性能优化指南
  • Python实战:基于WebSocket的讯飞实时语音识别与音频流处理
  • 基于RAG+Streamlit的智慧文旅系统实战:1500行代码构建“智游八桂”
  • AM572x高速接口时序设计:从建立时间到RGMII实战避坑
  • 2026需要便宜稳定好用的AI搜索引擎
  • 基于单片机人脸识别电子密码锁智能门禁指纹识别语音提醒防盗成品(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码1234
  • 豆包用户习惯适配系统:三层锚点实现永久风格固化
  • 微信小程序打造个性化Loading动画:从基础封装到高级应用
  • 【数字信号处理】LTI 系统因果性与稳定性实战:从滑动平均到指数变换的深度解析
  • unordered_map修改操作进阶:掌握clear、erase、swap、extract与merge的高效应用场景