MySQL-约束
创始人
2024-06-03 00:16:08
0

约束

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

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

分类:

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

自动增长关键字 AUTO_INCREMENT

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

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 '年龄',    //大于0并且小于等于120status char(1) default'1' comment '状态',          //如果没有指定该值,默认为1gender char(1) comment '性别'
) comment '用户表';

外键约束

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

  • 语法
    • 添加外键
CREATE TABLE 表名(字段名 数据类型,.......[CONSTRAINT] [外键名称] FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名)
);
ALTER TABLE 表名 ADD CONSTRAINT 外键表名 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名);ALTER TABLE usera add CONSTRAINT fk_usera_y_id FOREIGN KEY(y_id) REFERENCES userb(id);
  • 删除外键
ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

删除更新行为

行为说明
NO ACTION当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除/更新。(与 RESTRICT一致)
RESTRICT当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除/更新。(与 NO ACTION 一致
CASCADE当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有,则也删除/更新外键在子表中的记录。
SET NULL当在父表中删除对应记录时,首先检查该记录是否有对应外键,如果有则设置子表中该外键值为null(这就要求该外键允许取nul)。
SET DEFAULT父表有变更时,子表将外键列设置成一个默认的值(Innodb不支持
ALTER TABLE 表名 ADD CONSTRAINT 外键名称  FOREIGN KEY (外键字段) REFERENCES 主表名(主表字段名) ON UPDATE CASCADE ON DELETE CASCADE;ON UPDATE:更新行为
ON DELETE:删除行为

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...