MySQL约束

·概述

1、概念:

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

2、目的:

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

3、分类:

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

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

·约束演示

根据下图的条件,添加约束

create table user(

id int primary key auto_increment comment '主键', -- auto_increment是自增

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 '用户表';

·外键约束

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

只是在逻辑上关联,但是在数据库上并没有联系

添加外键:

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

删除外键:

alter table emp drop foreign key fk_emp_dept_id;

相关推荐
tju233310 分钟前
信创产业二十年:国产基础软件走到哪一步了?
数据库·gitee
自律最差的编程狗33 分钟前
从零搭建:VMware + Ubuntu + Docker + MySQL 完整指南
mysql·ubuntu·docker
东方护航数据恢复(深圳)35 分钟前
RAID5单盘故障后阵列状态分析与重建风险评估_东方护航数据恢复深圳店
大数据·数据库
会编程的土豆1 小时前
GORM 常见操作从入门到能写 DAO
数据库·gorm
A15362551 小时前
2026 电商物流系统推荐:多渠道仓配履约数字化选型指南
大数据·数据库·人工智能
tianyu2342 小时前
MySQL字符串处理函数完全指南:从入门到实战
mysql·字符串·函数·截取
天空之外1362 小时前
Docker安装MySQL 8.4 LTS、Docker安装Redis 7.4.x、Docker安装MinIO
java·mysql·docker
ClouGence3 小时前
CloudDM:开源免费!一站式数据库访问、SQL审核、权限与脱敏管控平台
数据库·sql·开源
(轻舟已过万重山)3 小时前
第39章 评估迭代:上线只是开始,迭代才是关键
大数据·数据库·人工智能
oradh3 小时前
Oracle参数文件(PFILE与SPFILE)维护操作总结
数据库·oracle·oracle参数·spfile·pfile