MySQL约束之默认约束default与零填充约束zerofill
目录
- 默认约束
- 添加默认约束
- 删除默认约束
- 零填充约束
- 总结
默认约束
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 '北京' -- 指定默认约束 );
您可能感兴趣的文章
- 12-22使用mysql记录从url返回的http GET请求数据操作
- 12-22详解sql中exists和in的语法与区别
- 12-22hive从mysql导入数据量变多的解决方案
- 12-22如何为PostgreSQL的表自动添加分区
- 12-22postgresql 实现得到时间对应周的周一案例
- 12-22sqoop export导出 map100% reduce0% 卡住的多种原因及解决
- 12-22mysql查询条件not in 和 in的区别及原因说明
- 12-22解决mysql使用not in 包含null值的问题
- 12-22解决从集合运算到mysql的not like找不出NULL的问题
- 12-22postgresql 实现多表关联删除


阅读排行
推荐教程
- 12-11mysql代码执行结构实例分析【顺序、分支、循环结构】
- 12-08添加mysql的用户名和密码是什么语句?
- 12-20PhpMyAdmin出现错误数据无法导出怎么办?
- 12-19Redis中实现查找某个值的范围
- 12-15浅析mysql迁移到clickhouse的5种方法
- 12-15CentOS7 64位下MySQL5.7安装与配置教程
- 12-14Mysql大型SQL文件快速恢复方案分享
- 12-14mysql 5.7.27 安装配置方法图文教程
- 12-13MySQL给新建用户并赋予权限最简单的方法
- 12-13关于MySQL索引的深入解析





