尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

MySQL---表的约束(上)

MySQL---表的约束(上)
📅 发布时间:2026/6/24 5:42:37

表的约束,表中一定要有各种约束,通过各种约束,让我们未来插入数据库表中的数据是符合预期的。

约束的本质是通过技术手段,倒逼程序员,插入正确的数据。反过来,站在mysql的视角,凡是插入进来的数据,都是符合数据约束的。

真正约束字段的是数据类型,但是数据类型的约束很单一,需要有一些额外的约束,更好的保证了数据的合法性,从业务逻辑角度保证数据的正确性。

约束的最终目标:保证数据的完整性和可预期性。

表的约束有很多,以下我们将介绍以下几个:

null/not null,default, comment, zerofill,primary
key,auto_increment,unique key。

1、空属性

null(默认的)和not null(不为空)。数据库默认字段基本都是字段为空,但是实际开发中,尽可能保证字段不为空,因为数据为空没办法参加运算。
示范:创建一个表
往表里面插入数据

2、default默认值

某一类数据会经常性的出现某个具体的值,可以在一开始就指定好,在需要真实数据的时候,用户可以选择性的使用默认值
不传参数,就是默认值。
总结:default如果设置了,用户将来插入,有具体的数据,就用用户的,没有就用默认的。
如果我们没有明确指定一列要插入,用的是default,如果建表中,对应列默认没有设置default值,无法直接插入。
default和not null 并不冲突,而是相互补充的,当用户想要插入数据的时候,会有NULL,或者是合法数据,当用户忽略这一列的时候,使用默认值(如果设置了)
如果没有设置,就会直接报错。

3、列描述

列描述:comment,没有实际含义,专门用来描述字段,会根据表创建语句保存,用来给程序员或DBA 来进行了解。

创建如下数据表:

not null 和default 一般不需要同时出现,因此default本身有默认值,不会为空

4、zerofill

建一个表

查看表的结构

再插入数据
zerofill是给添加zerofill属性,再进行查找,返回如下的结果:
这次可以看到a的值由原来的1变成00001,这就是zerofill属性的作用,如果宽度小于设定的宽度(这里
设置的是5),自动填充0。要注意的是,这只是最后显示的结果,在MySQL中实际存储的还是1。

5、主键

主键:primary key用来唯一的约束该字段里面的数据,不能重复,不能为空,一张表中最多只能有一个主键;主键所在的列通常是整数类型。
插入两个数据
主键约束:主键对应的字段中不能重复,一旦重复,操作失败。
删除主键
alter table表名dropprimary key

相关新闻

  • 17 | ReadWriteLock:如何快速实现一个完备的缓存?
  • 信仰的具象化的庖丁解牛
  • Web渗透测试实战:SQL注入漏洞从入门到深度防御

最新新闻

  • 深入解析MPC8572E:双核通信、高速I/O与嵌入式网络处理器设计实战
  • OpenClaw实战指南:RAG+多智能体+DevOps深度集成
  • MPC8544E缓存一致性与内存管理:嵌入式系统数据一致性的核心机制
  • 从零构建手势识别智能灯:深度学习与物联网边缘部署实战
  • 主动防御利器Pagodo:基于Google Dorking的自动化信息收集实战
  • OpenClaw一键部署包原理:本地AI助手的GUI交付范式

日新闻

  • 终极指南:如何用shadPS4在电脑上免费畅玩PS4游戏
  • 打造个性化Instagram Clone:主题定制与用户体验优化技巧
  • 未来展望:RoseTTAFold-All-Atom的发展路线图与社区支持资源汇总

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号