MySQL基础(四):表的完整性约束

MySQL完整性约束 数据完整性约束是在表和字段上强制执行的数据检验规则,为了防止不规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,主要是对空值和重复值的约束,使不符合规范的数据不能进入数据库,以保证数据存储的完整性和准确性。 完整性分类 按照约束的不同类型可以分为实体完整性、域完整性、引用完整性。 实体完整性 用来标识表中的每一条记录,一条记录代表一个实体...... 阅读详情
  • 本博客是《MySQL基础》系列博客的第四部分,主要介绍表的完整性约束条件,重头戏自然是主外键
  • 本博客既为方便自己查看复习而作,亦为你而作,望能有所裨益
  • 学习交流请联系 April_0911@163.com

基本概念

表的完整性约束条件指的是一系列用来保证表的完整性、一致性、无重复性等特性的条件。

条件分类

在《MySQL基础(二):基本操作》里我们在创建表的时候已经顺带简单介绍了其中一些条件,如下图的相关设置即我们所说的表的完整性约束条件:
在这里插入图片描述
表的完整性约束条件

按键说明
PKPrimary Key,主键
NNNot Null,非空
UQUnique,索引唯一
BBinary,二进制
UN无符号
ZFZero Fill,零填充
AIAuto Increment,自增,即从1开始每次递增1
GGenerated,生成列

主键外键

我们平日常听到表的主外键之说,那么什么是表的主外键呢?它们又是干什么的呢?下面我们就来简单了解一下:

  • 表的完整性约束主要是靠表的主外键来完成的,其基本概念如下表所示:
概念定义作用个数
主键唯一标识一条记录,不能有重复的,不允许为空保证数据完整性只能有一个
外键表的外键是另一表的主键,可重复,可为空和其他表建立联系可以有多个
  • 主外键用来连接不同的表,从而方便数据查询,提高查询效率
  • 外键对事务的频繁操作会影响性能,在高并发的数据库系统中不适合添加外键
  • 示例:
    • Workbench操作
      在这里插入图片描述
    • SQL语句
alter table <数据库>.<外数据表> add index <外键名>(外键字段); -- 添加外键
alter table <数据库>.<外数据表> add constraint <外键名>
foreign key(<外键字段>) references <数据库>.<主数据表>(<主键字段>)
on delete <相关操作>  -- 相关操作可选 NO ACTION,SET NULL,CASCADE,RESTRICT
on update <相关操作>; -- 具体说明将在后面揭晓

其他条件

其他完整性约束条件应在实际业务中按需添加,只需要添加或修改关键字即可
具体可见:《MySQL基础(六):DDL语句》

Calibre PEX提取HSPICE网表时如何避免‘net 0‘错误?实测解决方案分享 本文详细解析了Calibre PEX提取HSPICE网表时出现的'net 0'错误,提供了从规则文件修改到网表后处理的四步解决方案。通过实战案例和进阶调试技巧,帮助工程师有效避免节点映射错误,确保后仿真精度。特别针对SPICE netlist生成机制提出了优化建议。 阅读详情

相关推荐

电赛2024年H题智能小车基于MSPM0G3507主控MCU(利用8路灰度加上MPU6050的解决方式)

最后我觉得这个项目最重要的部分还是陀螺仪的精准度,如果一个陀螺仪的精准度高,这个项目就十分简单了,像mpu6050这种陀螺仪精准度就稍微差了一点,他有个最严重的问题就是温漂,偏航角会随着温度变化为变化,这一点在跑发挥项一的时候十分关键的,因为这个只差基督就会导致车子跑偏,导致无法完成 整个项目。如果条件足够的话建议可以换一个好一点的陀螺仪,然后就是灰度如果没有条件同样也可以换成红外。以上就是本次项目的一些小建议。

weixin_60991529的博客 6241

表的完整性约束

表的完整性约束一、表的完整性约束二、not null与default三、unique1、单列唯一2、联合唯一3、not null和unique的化学反应四、primary key五、foreign key 一、表的完整性约束 约束条件与数据类型的宽度一样,都是可选参数 1、作用:用于保证数据的完整性和一致性 2、主要包括: primary key # 标识该字段为该表的主键,可以唯一的标识记录 foreign key # 标识该字段为该表的外键 not null # 标识该字段不能为空,必须赋值 un

梅开二度,异常绚烂 2331

Dify DSL文件分享 Dify讨论群 大模型token资源等(持续收集更新)

基于LLMOps平台-Dify的一站式学习平台。包含不限于:Dify案例、DSL文件分享、模型接入、Dify交流讨论等各类资源分享。

同名公众号:dify实验室 3713

数据库02_约束和范式

约束(Constraint)是Microsoft SQL Server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。约束就是我们在建表过程中,给表中字段添加一些条件,在这些条件的配合下可以保证数据的唯一性,完整性,有的约束针对于整行有效,有的约束只针对某一列有效。

fencecat的博客 1363

一生一芯预学习:从零搭建Verilator仿真环境与NVBoard实战

本文详细介绍了如何从零搭建Verilator仿真环境,并完成NVBoard实战项目,为'一生一芯'预学习提供完整指导。内容包括环境配置、工具安装、波形生成、自动化构建及可视化调试技巧,帮助初学者快速掌握数字逻辑设计与仿真验证的核心技能。

keras9composer的博客 701

Adams与Matlab联合仿真入门:从零搭建你的第一个动力学模型

本文为Adams与Matlab联合仿真新手提供了一份详尽的入门指南。文章从软件环境配置、版本兼容性检查讲起,逐步演示了如何在Adams中构建单摆动力学模型并定义输入输出接口,以及在Matlab/Simulink中搭建控制回路。通过一个完整的受控单摆实例,手把手教你完成从模型导出、模块生成到执行联合仿真的全流程,帮助你快速搭建并运行第一个联合仿真模型,实现动力学与控制系统的协同验证。

g5h6i7j的博客 699

完整性约束包括哪些?

数据完整性(Data Integrity)是指数据的精确(Accuracy) 和 可靠性(Reliability)。 包括: (1)实体完整性:规定表的每一行在表中是惟一的实体。 (2)域完整性:是指表中的列必须满足某种特定的数据类型约束,其中约束又包括取值范围、精度等规定。 (3)参照完整性:是指两个表的主关键字和外关键字的数据应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的...

weixin_37657720的博客 3万+

【TiktokAPI】Tiktok直播API与实时互动功能开发完全指南

Tiktok直播API允许开发者创建、管理直播,并实现各种互动功能。/*** 获取Tiktok直播API访问令牌* @param {string} client_id - 应用ID* @param {string} client_secret - 应用密钥* @param {string} code - 授权码* @param {string} redirect_uri - 重定向URI* @returns {Promise<object>} 访问令牌响应*/try {}),

Mageia的专栏 3191

什么是数据的完整性约束

为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。

斜阳雨陌 1478

Windows7 64位系统PL2303驱动无法安装问题解决

问题描述:电脑安装的是Win7 64位的旗舰版,USB to RS232这种线很简单,对于笔记本如果要用串口,就不能少了它了。USB to RS232转换芯片种类繁多,常见的有ch340,0108,PL2303,FT232等,这里面FT232的应该价格是相对比较贵的,因为FTDI的芯片本身比较贵。由于买了一根PL2303芯片的USB to RS232转换线,于是插上后发现驱动无法安装,又是在设备管

suxiang198的博客 5809

华为OD新系统机试真题-文章特征提取

华为OD机试新系统真题 【文章特征提取】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统机试真题【文章特征提取】

qq_45776114的博客 729

MySQL基础(约束 多表查询)

个人主页:个人主页系列专栏:MySQL数据库 温馨提示:本篇博客较为全面,收藏以防找不到 挑灯夜战3点半,奋笔疾书4w字,只为博君看两眼! 上节目录 一.Mysql下载安装启动(适合没有下载按照好MySQL的小伙伴,超详图文教程) 二.图形化界面工具(更方便操作数据库,超详细图文安装教程) 三.SQL(MySQL的核心) 1.DDL(数据库操作,表操作,表操作-数据类型,表操作-案例) 2.DML(添加数据,修改数据,删除数据) 3.DQL(基本语法,基础...

Javascript_tsj的博客 1万+

嵌入式u-boot最全面试题及参考答案(5万字长文持续更新)

例如,在一个便携式设备中,U-Boot 在启动时初始化电源控制器,将输出电压设置为合适的值。命令是u-boot构建过程中用于配置u-boot选项的命令。在嵌入式系统中,启动画面(也称为启动Logo或Splash Screen)是展示给用户的第一印象,它可以包含公司的标志、产品的名称或其他相关信息。u-boot允许通过环境变量来进行配置,这使得开发者可以根据不同的硬件平台和项目需求灵活地调整u-boot的行为。写入操作可以是字节级别的,也可以是块级别的,具体取决于设备的性能和操作系统的需求。

大模型大数据攻城狮的专栏 997

MySQL:表的约束+设置表的字段值自动增加

MySQL:表的约束+设置表的字段值自动增加

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 88万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【MySQL基础】MySQL表的七大约束

MySQL表的七大约束大详解,带你掌握MySQL七大约束,即默认约束,非空约束,唯一约束,主键约束,自增约束,检索约束,外键约束。

小杨的博客 6073

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

深入浅出:掌握MySQL表约束与数据完整性设计

本文介绍了MySQL中的常用表约束,如主键、外键、唯一键、默认值等,通过实际案例阐述如何设计数据库表,保证数据的完整性与一致性,帮助开发者提高数据库设计能力。

酷酷的崽的博客 2558

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

MySQL 表约束实战指南:从概念到落地,守护数据完整性

比如在公司,我们需要一个员工管理系统,系统中有一个员工表,员工表中有两列信息,一个身份证号码,一 个是员工工号,我们可以选择身份号码作为主键。我们可以简单理解成,主键更多的是标识唯一性的。一般而言,我们建议将主键设计成为和当前业务无关的字段,这样,当业务调整的时候,我们可以尽量不会对主键做过大的调整。具体指的是在公司的业务上不能重复,我们设计表的时候,需要这个约束,那么就可以将员工工号设计成为唯 一键。理论上,上面的例子,我们不创建外键约束,就正常建立学生表,以及班级表,该有的字段我们都有。

2302_79376097的博客 2140

mysql表添加完整性约束_SQL语句——完整性约束

1.MySQL支持的完整性约束a.主键约束特点:唯一且非空主键可以由一个字段组成,也可以由多个字段组成如果主键由一个字段组成,既可以添加到列级,也可以添加到表级。如果主键由多个字段组成,则只能添加到表级。(1)在字段的列级添加约束create table 表名(字段名 字段类型 primary key)create table student_1(id varchar(10) primary ke...

weixin_35792236的博客 7013

MySQL表的完整性约束及各子句查询操作

MySQL表的完整性约束及各子句查询操作

小王同学的博客 2420

【MySQL基础】章节14:完整性约束之非外键约束

完整性约束之非外键约束

云沧同学的博客 1080

MySQL之完整性约束

主键就是表中的一列或多个列的组合,其值能唯一地标识表中的每一行。如果PRIMARY KEY约束是由多列组合定义的,则某一列的值可以重复,但PRIMARY KEY约束定义中所有列的组合值必须是唯一的。若定义了数据完整性约束,MySQL会负责数据的完整性,每次更新数据时,MySQL都会测试新的数据内容是否符合相关的完整性约束条件,只有符合完整性的约束条件的更新才被接受。作为列的完整性约束时,只需在列定义的时候加上关键字PRIMARY KEY。当表中的主键为复合主键时,只能定义为表的完整性约束。...

遇安的博客 4378

MySQL数据库表约束

为了防止往数据表中插入错误的数据,在MySQL中,定义了一些维护数据库完整性的规则,即表的约束。 常见的表的约束:            上表中列举的约束条件都是针对表中字段进行限制, 从而保证数据表中数据的正确性和唯一性。 一、主键约束        在MySQL中,为了快速查找表中的某条信息,可以通过设置主键来实现。主键约束是通过PRIMARY KEY 定义的,

zhangguanghui002的博客 1万+

关系模型的完整性约束

用户定义完整性约束由用户根据应用需要定义,主要是对属性的取值进行限定,所以主要是域完整性约束。域完整性约束对属性的取值进行限定,例如学生的成绩必须是0-100,性别必须是男或女。在MySQL中,使用check约束来实现域完整性约束。用户自定义完整性约束的实质是对属性取值进行限定,所以用户自定义完整性约束实际上就是指域完整性约束(错误)域完整性约束就是指对关系中属性的取值的正确性进行限制,包括数据类型、精度、取值范围和是否允许空值等(正确)域完整性约束的取值范围可分为静态定义和动态定义两种(正确)

DoubleQ的博客 5188

Mysql列的完整性约束最详细教程之一——详解

Mysql列的完整性约束最详细教程之一——详解

m0_65635427的博客 2773

Mysql完整性约束

一、完整性约束的定义 完整性约束(或简称“约束”)是数据库的内容必须随时遵守的规则,它们描述了对数据库的哪一次更新是被允许的。一旦定义了完整性约束,Mysql就会负责在每次更新后,测试新的数据内容是否符合相关的约束。 二、完整性约束的分类 2.1主键约束 主键就是表中的一列或多个列的一组,它们能够唯一地标识表中的每一行。 通过定义PRIMARY KEY约束来创建主键,而且PRIMARY KEY约束中的列不能取空值。 可以用两种方式定义主键,作为列或者表的完整性约束。作为列的完整性约束时,只需要在

qq_2862896879的博客 2806

mysql完整性约束

文章目录一、完整性约束1.1 MySQL支持的完整性约束1.2 主键约束1.2.1 新创建表,添加主键1.2.2 给已有表添加主键1.2.3 删除主键约束1.3 唯一约束 unique1.3.1 列级添加唯一约束1.3.2 表级添加唯一约束1.3.3 给已有表添加唯一约束1.3.4 删除唯一约束1.4 非空 not null1.4.1 列级添加非空约束1.4.2 给已有表添加非空约束1.4.3 删除非空约束1.5 默认值约束(default)1.5.1 列级添加默认值约束1.5.2 给已有表添加默认值约束

人丑就要多读书的博客 2031
上一篇: MySQL基础(九):索引
下一篇: MySQL基础(十):视图
April_0911
博客等级 码龄10年 1404粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值