MySQL约束-默认约束(default)、零填充约束(zerofill)
        【摘要】 
                    默认约束 
MySQL 默认值约束用来指定某列的默认值。 
添加默认约束 
方式1: <字段名> <数据类型> default <默认值>; 
方式2: alter table 表名 modify 列名 类型 default 默认值; 
create table t_user10 (   id int...
    
    
    
    默认约束
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, '王五');
     
    
 
  
 

总结
前面我们学习了很多的约束,这里这一个大致的总结,我们需要根据自己的应用场景去设置这些约束,最终才可以达到我们的日常需求:
  
   - 
    
     
    
    
     
      -- 总结
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
     
      -- 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 '北京' -- 指定默认约束 
     
    
 
   - 
    
     
    
    
     
      );
     
    
 
  
 
每文一语
馒头=西瓜
文章来源: wxw-123.blog.csdn.net,作者:王小王-123,版权归原作者所有,如需转载,请联系作者。
原文链接:wxw-123.blog.csdn.net/article/details/123466971
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)