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

 更新时间:2022年07月07日 15:31:22   作者:王小王_123​​​​​​​  
这篇文章主要介绍了MySQL约束之默认约束default与零填充约束zerofill,MySQL 默认值约束用来指定某列的默认值。更多相关资料需要的朋友可以参考一下

默认约束

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 '北京' -- 指定默认约束
);

到此这篇关于MySQL约束之默认约束default与零填充约束zerofill的文章就介绍到这了,更多相关MySQL约束 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用mss2sql工具将SqlServer转换为Mysql全记录

    使用mss2sql工具将SqlServer转换为Mysql全记录

    上篇文章我们讲诉了在mssql数据转换成mysql数据中,用Navicat Premium导入数据很完美,但是创建表的时候数据类型转换不是很完美,本文我们来讲诉下用mss2sql工具来创建表,顺便说下导入数据
    2014-08-08
  • 将mysql脚本转化为oracle脚本的攻略与细节点

    将mysql脚本转化为oracle脚本的攻略与细节点

    前段时间公司项目数据库需要从mysql转为oracle,所以需要修改下原有的mysql脚本,这篇文章主要给大家介绍了关于将mysql脚本转化为oracle脚本的攻略与细节点,需要的朋友可以参考下
    2023-09-09
  • MySQL的一些常用的SQL语句整理

    MySQL的一些常用的SQL语句整理

    这篇文章主要介绍了MySQL的一些常用的SQL语句整理,非常基础,适合随看随记:)需要的朋友可以参考下
    2015-07-07
  • Mysql事务隔离级别之读提交详解

    Mysql事务隔离级别之读提交详解

    这篇文章主要介绍了Mysql事务隔离级别之读提交详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Mysql中新建用户及授权的方法分享

    Mysql中新建用户及授权的方法分享

    这篇文章给大家汇总介绍了Mysql中新建用户及授权的方法,首先介绍的是作者自己的项目经历,后面附上了参考文章,希望能对大家学习mysql有所帮助。
    2016-07-07
  • MySql各种查询方式详解

    MySql各种查询方式详解

    如果是做数据分析,MySQL里面最重要、最常用的就是数据查询,数据查询不只是简单查询数据库中存储的数据,还要根据需求对数据进行筛选、聚合,以及确定数据以什么样的格式进行显示。MySQL提供了强大、灵活的语句和函数来实现查询的操作
    2022-07-07
  • 解决Mysql5.7中文乱码的问题

    解决Mysql5.7中文乱码的问题

    在使用mysql5.7时,会发现通过web端向数据库中写入中文后会出现乱码,但是在数据库中直接操作SQL语句插入数据后中文就显示正常,这个问题怎么解决呢,下面小编给大家分享下解决方案
    2017-03-03
  • window系统mysql无法输入和无法显示中文的解决方法

    window系统mysql无法输入和无法显示中文的解决方法

    这篇文章主要介绍了window系统mysql无法输入和无法显示中文的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • 图文详解Mysql使用left join写查询语句执行很慢问题的解决

    图文详解Mysql使用left join写查询语句执行很慢问题的解决

    最近工作中遇到一个非常奇怪的问题,mysql中有两张表,test_info和test_do_info需要进行LEFT JOIN关联查询,下面这篇文章主要给大家介绍了关于Mysql使用left join写查询语句执行很慢问题的解决方法
    2023-04-04
  • Mysql InnoDB引擎中的数据页结构详解

    Mysql InnoDB引擎中的数据页结构详解

    这篇文章主要为大家介绍了Mysql InnoDB引擎中的数据页结构详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论