数据库的约束 详解

一、约束的概述

1.概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。

2.目的:保证数据库中数据的正确、有效性和完整性。

3.分类:

约束 描述 关键字
非空约束 限制该字段的数据不能为null NOT NULL
唯一约束 保证该字段的所有数据都是唯一、不重复的 UNIQUE
主键约束 主键是一行数据的唯一标识,要求非空且唯一 PRIMARY KEY
默认约束 保存数据时,如果未指定该字段的值,则采用默认值 DEFAULT
检查约束(8.0.1版本后) 保证字段值满足某一个条件 CHECK
外键约束 用来让两张图的数据之间建立连接,保证数据的一致性和完整性 FOREIGN KEY

约束是作用于表中字段上的,可以再创建表/修改表的时候添加约束。 

常用约束:

约束条件 关键字
主键 PRIMARY KEY
自动增长 AUTO_INCREMENT
不为空 NOT NULL
唯一 UNIQUE
逻辑条件 CHECK
默认值 DEFAULT

二、约束的案例 

建表语句如下:

create table user(
     id int primary key auto_increment comment  '主键',

     name  varchar(10) not null unique comment  '姓名',

     age int  check ( age > 0 && age <= 120 ) comment  '年龄',

     status  char(1)  default '1’comment  '状态',

     gender  char(1)  comment  '性别'
)comment '用户表;
 

三、外键约束

概念:
        外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。


 案例:

员工表emp的dept_id(部门id)对应部门表dept的id,其中dept为主表

alter table emp add constraint fk_emp_dept_id foreign key(dept_id) references dept(id);

  

四、总结

MySQL数据库提供了多种类型的约束,用于确保数据的完整性和一致性。以下是一些常见的MySQL数据库约束:

  1. 主键约束(PRIMARY KEY):主键是用来唯一标识表中每一行的列或列组合。它必须具有唯一性且不允许为空值。

  2. 唯一约束(UNIQUE):唯一约束用于确保某一列或列组合的取值在表中是唯一的,即不允许重复值。与主键不同,唯一约束可以允许空值。

  3. 外键约束(FOREIGN KEY):外键用于建立表之间的关联关系。它指定一个或多个列作为引用另一个表的主键,以确保引用完整性。外键约束可以防止插入无效的数据,还可以在关联的表上进行级联操作。

  4. 非空约束(NOT NULL):非空约束用于限制某一列不能存储空值。它确保该列必须始终包含有效数据。

  5. 默认约束(DEFAULT):默认约束用于定义当未显式指定值时,某一列将自动使用的默认值。

  6. 检查约束(CHECK):检查约束用于定义一条逻辑表达式,以确定插入或更新数据时所允许的值范围。如果表达式的结果为false,则会拒绝插入或更新操作。

这些约束可以在创建表时定义,也可以在已存在的表上进行修改。它们能够帮助维护数据的完整性,提供更强大的数据验证和保护机制。通过使用适当的约束,可以确保数据库中的数据符合预期,并减少错误和数据不一致的风险。

猜你喜欢

转载自blog.csdn.net/weixin_55772633/article/details/132120659