MySQL---表的约束(上)

📅 2026/6/24 5:39:46
MySQL---表的约束(上)
表的约束表中一定要有各种约束通过各种约束让我们未来插入数据库表中的数据是符合预期的。约束的本质是通过技术手段倒逼程序员插入正确的数据。反过来站在mysql的视角凡是插入进来的数据都是符合数据约束的。真正约束字段的是数据类型但是数据类型的约束很单一需要有一些额外的约束更好的保证了数据的合法性从业务逻辑角度保证数据的正确性。约束的最终目标保证数据的完整性和可预期性。表的约束有很多以下我们将介绍以下几个null/not null,default, comment, zerofillprimarykeyauto_incrementunique 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