5.MySQL表的约束|空属性|默认值|列描述|主键|自增长|唯一键|外键

LLC谐振变换器设计实战:从工作原理到参数设计与调试 开关电源设计是电力电子领域的核心技术,其核心目标在于提升效率与功率密度。为实现这一目标,软开关技术应运而生,它通过精心控制开关器件的电压与电流波形,使其在开通或关断瞬间实现零电压或零电流切换,从而从根本上降低开关损耗。LLC谐振变换器正是这一技术的杰出代表,它通过引入谐振网络,巧妙地实现了主开关管的零电压开关和次级整流管的零电流开关。这种拓扑结构在服务器电源、通信设备及高端显示驱动等要求高效率、高功率密度的应用场景中价值显著。本文将以半桥LLC为例,深入剖析其工作模态与增益特性,并系统阐述其参数设计、仿真验 阅读详情

表中一定要有各种约束,通过约束,让未来插入数据库表中的数据是符合预期的.约束的本质是通过技术手段,倒逼程序员,插入正确的数据.反过来,站在mysql视角,凡是插入进来的数据,都是符合数据约束的.
约束的最终目标:保证数据的完整性和可预期性
真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。
表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primary
key,auto_increment,unique key 。

空属性

  • 两个值:null(默认的)和not null(不为空)
  • 数据库默认字段基本都是字段为空,但是实际开发时,尽可能保证字段不为空,因为数据为空没办法参与运算。
    ![[Pasted image 20260427183245.png]]
    ![[Pasted image 20260427183359.png]]
    ![[Pasted image 20260427183509.png]]

![[Pasted image 20260427183636.png]]

默认值

默认值:某一种数据会经常性的出现某个具体的值,可以在一开始就指定好,在需要真实数据的时候,用户可以选择性的使用默认值。
如果设置了,用户将来插入,有具体的数据,就用用户的,没有就用默认的

默认值的生效:数据在插入的时候不给该字段赋值,就使用默认值
![[Pasted image 20260427183914.png]]

![[Pasted image 20260427183955.png]]

![[Pasted image 20260427184418.png]]

如果没有明确指定一列要插入,用的是defult,如果建表中,对应列默认没有设置defult值,无法直接插入
![[Pasted image 20260427184719.png]]

defult和not null不冲突,相互补充

  • defult:
    • 当用户忽略这一列的时候,使用默认值(如果设置了)
    • 如果没有设置,直接报错
  • not null
    • 当用户想插入的时候
      • NULL
      • 合法数据

![[Pasted image 20260427185111.png]]

![[Pasted image 20260427185307.png]]

![[Pasted image 20260427185409.png]]

如果没有设置默认值,mysql自动给加上defult null

列描述

列描述:comment,没有实际含义,专门用来描述字段,会根据表创建语句保存,用来给程序员或DBA来进行了解
![[Pasted image 20260427190507.png]]
![[Pasted image 20260427190529.png]]

通过desc查看不到注释信息
![[Pasted image 20260427190554.png]]

通过show可以看到

zerofill

![[Pasted image 20260427190904.png]]

![[Pasted image 20260427191031.png]]
![[Pasted image 20260427191042.png]]
![[Pasted image 20260427191106.png]]
![[Pasted image 20260427191134.png]]
![[Pasted image 20260427191340.png]]

![[Pasted image 20260427191356.png]]

![[Pasted image 20260427191548.png]]

![[Pasted image 20260427191606.png]]

![[Pasted image 20260427191652.png]]

![[Pasted image 20260427191835.png]]

十位数正好表示int的最大数字,有符号比无符号多一位,是符号位

主键

主键:primary key用来唯一的约束该字段里面的数据,不能重复,不能为空,一张表中最多只能有一个主键;主键所在的列通常是整数类型。

指定主键

创建表的时候直接在字段上指定主键
![[Pasted image 20260427192327.png]]

主键约束:

主键对应的字段中不能重复,一旦重复,操作失败。
![[Pasted image 20260427192524.png]]

![[Pasted image 20260427192654.png]]

可以直接按照主键来检索

追加主键

当表创建好以后但是没有主键的时候,可以再次追加主键

alter table 表名 add primary key(字段列表)

![[Pasted image 20260427193042.png]]

删除主键
alter table 表名 drop primary key;

![[Pasted image 20260427192842.png]]

复合主键

在创建表的时候,在所有字段之后,使用primary key(主键字段列表)来创建主键,如果有多个字段作为主键,可以使用复合主键。
![[Pasted image 20260427193655.png]]

![[Pasted image 20260427193741.png]]

自增长

auto_increment:
当对应的字段,不给值,会自动的被系统触发,系统会从当前字段中已经有的最大值+1操作,得到一个新的不同的值。通常和主键搭配使用,作为逻辑主键。
![[Pasted image 20260427194105.png]]
![[Pasted image 20260427194114.png]]

![[Pasted image 20260427194203.png]]

![[Pasted image 20260427194320.png]]
![[Pasted image 20260427194334.png]]
![[Pasted image 20260427194348.png]]
![[Pasted image 20260427194445.png]]

手动设置起始值
![[Pasted image 20260427194554.png]]

一张表最多只能有一个自增长
![[Pasted image 20260427194944.png]]

自增长的特点:

  • 任何一个字段要做自增长,前提是本身是一个索引(key一栏有值)
  • 自增长字段必须是整数
  • 一张表最多只能有一个自增长

索引:
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。数据库使用索引以找到特定值,然后顺指针找到包含该值的行。这样可以使对应于表的SQL语句执行得更快,可快速访问数据库表中的特定信息。

唯一键

一张表中有往往有很多字段需要唯一性,数据不能重复,但是一张表中只能有一个主键:唯一键就可以解决表中有多个字段需要唯一性约束的问题。
唯一键的本质和主键差不多,唯一键允许为空,而且可以多个为空,空字段不做唯一性比较。
![[Pasted image 20260427195602.png]]

![[Pasted image 20260427195635.png]]

关于唯一键和主键的区别:
我们可以简单理解成,主键更多的是标识唯一性的。而唯一键更多的是保证在业务上,不要和别的信息出现重复。

如果没有唯一键:
![[Pasted image 20260427200149.png]]
![[Pasted image 20260427200204.png]]
![[Pasted image 20260427200306.png]]
![[Pasted image 20260427200346.png]]

有了唯一键
![[Pasted image 20260427200748.png]]
![[Pasted image 20260427200804.png]]
![[Pasted image 20260427200836.png]]

主键不能为空,唯一键可以为空
![[Pasted image 20260427200957.png]]

也可以设置不为空
![[Pasted image 20260427201116.png]]

外键

外键用于定义主表和从表之间的关系:外键约束主要定义在从表上,主表则必须是有主键约束或unique约束。当定义外键后,要求外键列数据必须在主表的主键列存在或为null。

语法:

foreign key (字段名) references 主表(列)
没有设置外键时

![[Pasted image 20260427201952.png]]
![[Pasted image 20260427202001.png]]
![[Pasted image 20260427202038.png]]
![[Pasted image 20260427202230.png]]
![[Pasted image 20260427202247.png]]
![[Pasted image 20260427202342.png]]

插入了不存在的班级
![[Pasted image 20260427202525.png]]

删除了应该存在的班级
![[Pasted image 20260427202628.png]]

设置外键

![[Pasted image 20260427203240.png]]

![[Pasted image 20260427203308.png]]

![[Pasted image 20260427203534.png]]

外键约束
![[Pasted image 20260427203706.png]]

![[Pasted image 20260427203749.png]]

如果没有编号为1的班级的学生,那么可以删除这个班级的信息
![[Pasted image 20260427204456.png]]

【毕设】基于LoRa的物联网控制器:从原理图到PCB的完整硬件设计指南 本文提供了一份完整的基于LoRa的物联网控制器硬件设计指南,涵盖从系统框图、原理图设计到PCB布局布线的全流程。详细讲解了电源电路、单片机最小系统、信号接口以及LoRa无线模块等核心模块的设计要点与抗干扰技巧,并分享了实用的调试心得,旨在帮助电子、物联网专业学生顺利完成毕业设计,掌握低功耗远距离物联网节点的硬件开发实践。 阅读详情

相关推荐

RV1126上YOLOv8部署实战:从模型转换到板端推理的完整避坑指南

本文提供了在瑞芯微RV1126芯片上部署YOLOv8目标识别算法的完整实战指南。内容涵盖从模型转换、环境搭建到板端推理代码编写的全流程,重点解析了RKNN-Toolkit使用、量化配置、内存优化及后处理实现等关键环节的常见问题与解决方案,旨在帮助开发者高效避坑,实现边缘AI应用的稳定落地。

pz89012345的博客 568

【MySQL】MySQL表的约束-空属性/默认值/列属性/zerofill/主键/自增长/唯一键/外键

本文介绍了mysql中表的约束--空属性/默认值/列属性/zerofill/主键/自增长/唯一键/外键

qq_67582098的博客 3316

本地部署了qwen2.5:0.8b ,对接openclaw 后,电脑卡的要死

OpenClaw 强制 16k 上下文 + 无限历史 + Agent 调度,把 0.8b 压垮。按上面配置:轻量化 + 限历史 + 驻留显存,电脑立刻不卡。

专注于技术研发行业技术主要有AI人工智能视觉识别、物联网技术、电商平台、app原生技术、微信小程序、鸿蒙语言开发、办公企业oa、ERP等,致力于做东半球最优秀的程序员 978

【MySQL】表的约束——空属性、默认值、列描述、zerofill、主键、自增长、唯一键、外键

MySQL、表的约束、空属性、默认值、列描述、zerofill、主键、自增长、唯一键、外键

Crocodile1006的博客 2774

盲孔、埋孔、通孔、一阶HDI、二阶HDI概念

文章目录1. 盲孔和埋孔2. 一阶、二阶HDI3. PADS软件设置盲埋孔 1. 盲孔和埋孔 HDI板是高密度互连(High Density Interconnector)的缩写,是生产印制板的一种技术,使用微盲埋孔技术的一种线路分布密度比较高的电路板,也被称为盲埋孔板,下图就是一个6层HDI板,其中C和D就是盲孔,B是埋孔,A是通孔。 盲孔(Blind Via)指连接外层到内层的金属化孔,D是V13孔,连接顶层和第3层,C是V56孔,连接第5层和底层。 埋孔(Buried Via)指连接内层到内层的金属

记得诚 3万+

利用Python爬虫采集京东商品评论情感分析案例(含完整代码)

在电商蓬勃发展的今天,商品评论蕴含着巨大的商业价值。本文以京东商品评论为研究对象,系统介绍如何使用Python构建一个完整的评论采集与情感分析系统。文章涵盖京东反爬机制分析、动态请求模拟、评论数据解析、中文文本预处理、基于SnowNLP和深度学习的情感极性分类、以及可视化展示等完整技术链路。所有代码均基于2025-2026年最新可用接口编写,并提供可直接运行的完整源码。全文力求详实,总字数逾八千字,适合Python数据分析从业者、电商运营人员及自然语言处理初学者参考实践。目录摘要第一章 引言。

2201_76125261的博客 88

【MySQL】表的约束

想必大家在学校也学习过MySQL,可能学的懵懵懂懂,这个板块我们从入门开始,从最新的安装MySQL到学习MySQL语句,一步一步开始,一切都是新的,新的板块新的开始,大家一起努力,一起进步!!!二。

AAlykk的博客 1965

(持续更新中!)详解【计算机类&面试真题】军队文职考试 ——第一期(真题+解析)| TCP、UDP的区别;程序局部性;ICMP协议及主要功能;重定位所需的计算机硬件

在当今信息化时代,军队中对于计算机专业人才的需求与日俱增。因此,了解面试和复试中常见的问题和要求对于准备应聘者来说至关重要。本文将围绕面试的准备要点、常见问题以及面试技巧进行探讨,并提供一些建议和经验。通过了解面试和复试的准备要点、常见问题以及技巧,读者将能够提升应对能力和成功率。本文为准备军队文职面试和计划考研复试的读者提供了有价值的参考和指导。通过阅读本篇博客,读者将能够获得关于军队文职计算机类面试和计算机考研复试的全面了解,提升自身的应对能力和成功率。

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 1690

mysql:表的约束(空属性,默认值,comment,zerofill,主键,唯一键,外键)

真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。表的约束有很多,这里主要介绍如下几个:null/ not null,default,comment,zerofill.primary, key,auto_increment,unique key.表的约束:表中一定要有各种约束,让我们未来插入数据是符符合预期的,约束本质是通过技术手段,逼迫程序员,插入正确数据。

m0_74217856的博客 2184

解锁IPG Photonics SmartWeld系统,开启焊接新时代

SmartWeld 系统是 IPG Photonics 研发的一款先进的激光焊接解决方案,它隶属于自动化激光焊接系统类别 ,但却凭借一系列创新技术和独特设计,在众多同类产品中脱颖而出。该系统基于 IPG 在光纤激光技术领域的深厚积累,融合了先进的光束控制、智能监测和自动化控制等技术,旨在为工业制造提供高效、精准且稳定的焊接工艺。与传统激光焊接系统相比,SmartWeld 系统的独特之处首先体现在其光束控制技术上。它能够精确地调整激光束的能量分布、光斑大小和形状 ,以适应不同材料和焊接工艺的需求。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1428

【目标检测】全局上下文感知的详解

目标检测中的全局上下文感知(Global Context Awareness)​是指模型在定位和识别目标时,能够有效利用图像中全局或大范围的上下文信息(如场景语义、目标间关系、空间布局等),而不仅仅依赖局部特征。这种能力显著提升了检测的鲁棒性,尤其是在复杂场景(如遮挡、小目标、密集目标)中表现突出。

浩瀚之水的专栏 644

【MySQL基础】表的约束的类型与使用指南

【MySQL基础】表的约束内容超详解加全面使用指南!!

2301_80220607的博客 1859

XILINX RFSoC全面解析(五)—— Zynq UItrascale+ RF Data Converter IP核详解

这期我们来看看RFSoC独有的IP核——Zynq UItrascale+ RF Data Converter如何使用。 我使用的VIVADO版本是2018.3,这个是最低版本,要开发RFSoC,VIVADO版本必须不低于2018.3。 另外电脑配置也需要很高,64位,8核@3.4GHz CPU,16GB内存,固态硬盘基本就是低配,跑起来很勉强。建议有条件的朋友使用工作站或者服务器。 首先在VIVADO中新建一个工程,因为我使用的是xilinx官方的开发板,所以可以直接设定选board就行。 在I

1万+

Mysql之表的约束

说明:当设置的列没有明确设置是,默认是deffault null(可以为空),当设置为null时 ,进行插入时该列不能为空,同时如果该列没有默认值时插入必须插入不为空的列。该案例展示了一个商店的数据管理系统,其中有三个表:商品表、客户表和购买表。添加数据时出现auto_increment数值,记录的是下一次自增长的值。注:正常查表无法直接看到表的描述,只有通过。:创建班级表时,班级名和教室名都设置为。主键约束会确保该列的值唯一,不能重复。:创建学生表和班级表,班级表的。是外键,指向班级表的。

2301_81831423的博客 1611

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)

文章目录1.表的约束1.1 非空属性 not null1.2 默认值1.3 列描述1.4 zerofill显示属性1.5 主键1.5.1 创建表的时候设置主键1.5.2 主键约束1.5.3 表创建好之后,追加主键1.5.4 删除主键1.6 自增长1.7 唯一键1.8 外键 1.表的约束 在MySQL中真正约束字段的是数据类型,如果想要更好的保证数据的合法性,就需要一些额外的约束,比如身份证号我们就...

zhao_miao的博客 7066

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

MySQL表的约束

MySQL表的约束相关规则介绍。

终为nullptr 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

[MySQL]MySQL表的约束

详解MySQL表的约束

csdn_myhome的博客 3432

MySQL 中表的约束 -- 空属性,默认值,主键,自增长,唯一键,外键

数据库约束机制是保证数据合法性和正确性的关键技术手段。主要包括:1)空属性(NOT NULL)约束确保字段不为空;2)默认值(DEFAULT)为常用字段预设值;3)列描述(COMMENT)提供字段说明;4)主键(PRIMARY KEY)保证记录唯一性且非空;5)自增长(AUTO_INCREMENT)自动生成递增值;6)唯一键(UNIQUE)确保字段值唯一但允许空值;7)外键(FOREIGN KEY)维护表间引用完整性。这些约束共同作用,有效规范数据操作行为,维护数据质量。

CSQCSQCC的博客 1029

【MySQL 保姆级教学】表的约束--详细(6)

真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确。比如有一个字段是email,要求是唯一的。表的约束很多,这里主要介绍如下几个:。为什么要有约束?假如,你创建一个列,其他人在在该列中插入不同的数据,包括字符串、整型、日期类型,当你想处理这些数据时;会有很大的难度。通过约束,插入到数据库表中的数据都是合法的、正确的、可预期的。ZEROFILL 是MySQL中的一个属性,用于在数值类型(如 INT、BIGINT 等)的列上。

Code哈哈笑的博客 2386

【半夜学习MySQL】表的约束(含主键、唯一键、外键、zerofill、列描述、默认值、空属性详解)

上一篇文章中介绍了数据类型,数据类型已经对字段做出一定的约束。但是数据类型的约束很单一,需要一些额外的约束,更好的保证数据的合法性,让我们未来插入数据库表中的数据是复合预期的,保证数据在业务逻辑角度的正确性。本文将介绍表的其他约束,如null/not null、default、comment、zerofill、primary key、auto_increment、unique key等约束本质是通过技术手段,倒逼程序员,插入正确的数据,反过来,站在mysql的视角,凡是插入进来的数据,都是符合数据约束的。

Jammingpro 1538

【MySQL篇】表的约束

在MySQL中,表的约束用于强制保证数据的完整性和一致性。在数据库表中,真正约束字段的是数据类型优快云但是数据类型的约束很单一,所以需要一些额外的约束,来保证数据的完整性和正确性。

2401_82677021的博客 1125

MySQL之表的约束

比如,在学校中,一个学生一定有其所在的班级,且不能为空,因为某个学生一定是属于一个确定的班级的,并且这个班级所在的教室也是确定的且不能为空,不然学生就不知道在哪里上课了。这里面显示的宽度是5。加了zerofill约束后,这次可以看到b的值由原来的2变成00002,这就是zerofill约束的作用,如果宽度小于设定的宽度(这里设置的是5),自动填充0。因为数据类型有自己的大小,也就是我们插入的数据是有范围的,不能够随意插入,这就对程序员的插入操作作了规范和约束,保证了插入的数据的合法性和完整性以及可预期性。

zdlynj的博客 1166
上一篇: 4.MySQL数据类型|tinyint|bit|float|decimal|char|varchar|日期和时间|enum和set
下一篇: 6.MySQL表的增删改查|Create|SELECT|WHERE|结果排序|筛选分页|Update|Delete|插入查询结果|聚合函数|group by|having
ChoSeitaku
博客等级 码龄5年 3452粉丝 557原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值