MySQL约束之默认约束default与零填充约束zerofill
目录
默认约束
添加默认约束
删除默认约束
零填充约束
总结
默认约束
MySQL 默认值约束用来指定某列的默认值。
添加默认约束
方式1: <字段名> <数据类型> default <默认值>;
方式2: alter table 表名 modify 列名 类型 default 默认值;
?
1 2 3 4 5 | create table t_user10 ( id int , name varchar (20) , address varchar (20) default ‘北京' -- 指定默认约束 ); |
?
1 2 3 4 5 6 7 | -- 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 ‘北京'; |
删除默认约束
?
1 2 | -- 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;
?
1 2 3 4 | create table t_user12 ( id int zerofill , -- 零填充约束 name varchar (20) ); |
?
1 | alter table t_user12 modify id int ; |
?
1 2 3 4 5 6 7 8 | -- 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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | -- 总结 -- 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 '北京' -- 指定默认约束 ); |
到此这篇关于MySQL约束之默认约束default与零填充约束zerofill的文章就介绍到这了,更多相关MySQL约束 内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.51cto.com/u_15172991/5428118
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。