mysql约束种类的总结

主键约束确保每行唯一且非空,一个表仅能有一个主键,可由单或多字段组成,自动创建唯一索引;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 可出现多次)。

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

mysql约束种类的总结

BibiGPT-哔哔终结者

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

mysql约束种类的总结28

查看详情 mysql约束种类的总结

示例:

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 的处理,需要特别留意实际业务需求。

上一篇
下一篇
text=ZqhQzanResources