数据库的约束 详解

一、约束的概述

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

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

3.分类:

约束描述关键字
非空约束限制该字段的数据不能为nullNOT 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,则会拒绝插入或更新操作。

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值