首页 > 数据库 > SQL > 正文

mysql约束种类的总结

舞姬之光
发布: 2025-10-21 09:22:01
原创
1016人浏览过
主键约束确保每行唯一且非空,一个表仅能有一个主键,可由单或多字段组成,自动创建唯一索引;2. 外键约束维护表间引用完整性,外键值必须存在于被引用表的主键或唯一键中,支持级联操作;3. 唯一约束保证字段或字段组合值唯一,允许NULL值;4. 非空约束强制字段不得插入NULL,适用于必填数据;5. 默认值约束在未指定字段值时自动填充默认值,支持常量或表达式;6. 检查约束限制字段取值范围,MySQL 8.0.16起才真正生效。

mysql约束种类的总结

MySQL 中的约束是用来保证数据完整性和一致性的规则。通过在表上定义约束,可以限制字段的数据输入,防止无效或错误的数据被插入或更新。以下是 MySQL 常见的约束种类及其作用和使用方式的总结。

1. 主键约束(PRIMARY KEY)

作用:唯一标识表中的每一行记录,不允许重复,也不允许为 NULL。

特点:

  • 一个表只能有一个主键。
  • 可以由单个字段或多个字段组成(复合主键)。
  • 自动创建唯一索引,提高查询效率。
示例:
CREATE TABLE users (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50)
);
登录后复制

2. 外键约束(FOREIGN KEY)

作用:维护表与表之间的引用完整性,确保一个表中的字段值必须在另一个表的主键或唯一键中存在。

特点:

  • 外键字段的数据类型需与被引用字段一致。
  • 可以设置级联操作(如 CASCADE),在父表记录删除或更新时自动处理子表数据。
示例:
CREATE TABLE orders (
  order_id INT PRIMARY KEY,
  user_id INT,
  FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);
登录后复制

3. 唯一约束(UNIQUE)

作用:确保某列或多列组合的值在表中是唯一的,但允许有 NULL 值(NULL 可出现多次)。

注意:主键也具有唯一性,但唯一约束可以用于非主键字段。

BibiGPT-哔哔终结者
BibiGPT-哔哔终结者

B站视频总结器-一键总结 音视频内容

BibiGPT-哔哔终结者28
查看详情 BibiGPT-哔哔终结者
示例:
CREATE TABLE employees (
  emp_id INT PRIMARY KEY,
  email VARCHAR(100) UNIQUE
);
登录后复制

4. 非空约束(NOT NULL)

作用:限制字段不能插入 NULL 值,必须提供有效数据。

应用场景:常用于必填字段,如用户名、注册时间等。

示例:
CREATE TABLE products (
  name VARCHAR(100) NOT NULL,
  price DECIMAL(10,2)
);
登录后复制

5. 默认值约束(DEFAULT)

作用:当插入数据时未指定该字段的值,系统会自动使用默认值填充。

支持类型:字符串、数字、表达式(如 CURRENT_TIMESTAMP)。

示例:
CREATE TABLE logs (
  log_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  status VARCHAR(20) DEFAULT 'pending'
);
登录后复制

6. 检查约束(CHECK)

作用:限制字段的取值范围,确保满足指定条件。

注意:MySQL 8.0.16 以上版本才真正支持 CHECK 约束并强制执行。

示例:
CREATE TABLE students (
  age INT CHECK (age >= 0 AND age <= 150),
  gender VARCHAR(10) CHECK (gender IN ('M', 'F'))
);
登录后复制

基本上就这些。合理使用这些约束能有效提升数据库的稳定性和数据质量。虽然部分老版本对某些约束(如 CHECK)支持较弱,但在设计阶段仍建议明确写出,便于维护和迁移。不复杂但容易忽略的是外键的级联行为和唯一约束对 NULL 的处理,需要特别留意实际业务需求。

以上就是mysql约束种类的总结的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号