MySQL约束之默认约束default与零填充约束zerofill

bangongJIAO1@c 发布于 2025-12-05 阅读(2)
目录
  • 默认约束
    • 添加默认约束
    • 删除默认约束
  • 零填充约束
    •  总结

      默认约束

      MySQL 默认值约束用来指定某列的默认值。

      添加默认约束

      • 方式1: <字段名> <数据> default <默认>;
      • 方式2: alter table 表名 modify 列名 型 default 默认;
      create table t_user10 (
      id int ,
      name varchar(20) ,
      address varchar(20) default ‘北京' -- 指定默认约束
      );
      -- alter table 表名 modify 列名 类型 default 默认值;
      create table t_user11 (
      id int ,
      name varchar(20) ,
      address varchar(20)
      );
      alter table t_user11 modify address varchar(20) default ‘北京';

      删除默认约束

      -- alter table <表名> modify column <字段名> <类型> default null;
      alter table t_user11 modify column address varchar(20) default null;

      零填充约束

      1、插入数据时,当该字段的值的长度小于定义的长度时,会在该值的前面补上相应的0
      2、zerofill默认为int(10)
      3、当使用zerofill 时,默认会自动加unsigned(无符号)属性,使用unsigned属性后,数值范围是原值的2倍,例如,有符号为-128~+127,无符号为0~256。

      比如:现在设置某个字段的长度为5,那么真实数据是1,那么显示在你的数据库的是00001;

      create table t_user12 (
      id int zerofill , -- 零填充约束
      name varchar(20)
      );
      alter table t_user12 modify id int;
      -- 1. 添加约束
      create table t_user12 (
      id int zerofill , -- 零填充约束
      name varchar(20)
      );
      insert into t_user12 values(123, '张三');
      insert into t_user12 values(1, '李四');
      insert into t_user12 values(2, '王五');

      MySQL约束之默认约束default与零填充约束zerofill

       总结

      前面我们学习了很多的约束,这里这一个大致的总结,我们需要根据自己的应用场景去设置这些约束,最终才可以达到我们的日常需求:

      -- 总结
      -- 1:通过修改表结构添加主键约束
      
      create table emp4(
      eid int primary key,
      name varchar(20),
      deptId int,
      salary double
      );
      -- 2:添加自增正约束
      create table t_user1 (
      id int primary key auto_increment,
      name varchar(20)
      );
      -- 3:创建非空约束
      create table mydb1.t_user6 (
      id int ,
      name varchar(20) not null, -- 指定非空约束
      address varchar(20) not null -- 指定非空约束
      );
      -- 4:创建唯一约束
      create table t_user8 (
      id int ,
      name varchar(20) ,
      phone_number varchar(20) unique -- 指定唯一约束
      );
      -- 5:创建默认约束
      create table t_user10 (
      id int ,
      name varchar(20) ,
      address varchar(20) default '北京' -- 指定默认约束
      );