mysql整型长度

数据库中很多整型数据限定了长度,int(3):有些人会错误认为3代表的是允许存储的最大宽度,比如:误以为int(3)能存储的最大数是999,不能存储大于999的数值。

MySQL的int和tinyint的默认长度是int(11)和tinyint(4),而boolean型实际存储的是tinyint(1).
浮点型的长度使用来限制数字存储范围的。比如float(3,2),只能够写入0.00-999.99
整型的长度并不会限制存储的数字范围。比如 int和int(3)的存储范围都是-2147483648 ~ 2147483647, int unsigned 和 int(3) unsigned 的存储范围都是0 ~ 4294967295.
整型的长度实际上可以理解为”显示长度“,如果该字段有开启"zerofill/补零"就能很明显的知道它的作用。

1 验证整型长度是否会限制存储范围和整型长度的补零作用

创建数据表:
    CREATE TABLE test01(
        with_int_length int(3),
        without_int_length int
    )
    insert into test01(with_int_length,without_int_length) values(1111,1111);
    insert into test01(with_int_length,without_int_length) values(11111,11111);
    commit;
    mysql> select * from test01;
    +-----------------+--------------------+
    | with_int_length | without_int_length |
    +-----------------+--------------------+
    |            1111 |               1111 |
    |           11111 |              11111 |
    +-----------------+--------------------+
    2 rows in set (0.00 sec)

    CREATE TABLE test02 (
      with_length int(3) ZEROFILL,
      without_length int
    ) ENGINE=innodb, CHARSET=utf8

    insert into test02 (with_length, without_length) VALUE (11, 11);
    select * from test02;
    mysql> select * from test02;
    +-------------+----------------+
    | with_length | without_length |
    +-------------+----------------+
    |         011 |             11 |
    +-------------+----------------+
    1 row in set (0.01 sec)

高性能MySQL一书中说明:
“高性能MySQL” 书中在”4.1 选择优化的数据类型”中提到:
MySQL 可以为整数类型指定宽度, 例如 INT(11), 对大多数应用这是没有意义的: 它不会限制值的合法范围, 只是规定了 MySQL 的一些交互工具(例如 MySQL 命令行客户端)用来显示字符的个数. 对于存储和计算来说, INT(1) 和 INT(20) 是相同的


文章作者: 阿培
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 阿培 !
 上一篇
kubernetes集群中的pause容器 kubernetes集群中的pause容器
昨天晚上搭建好了k8s多主集群,启动了一个nginx的pod,然而每启动一个pod就伴随这一个pause容器,考虑到之前在做kubelet的systemd unit文件时有见到: [root@node01 ~]# docker ps CON
2019-07-10
下一篇 
mysql事务 mysql事务
深入学习MySQL事务:ACID特性的实现原理事务是MySQL等关系型数据库区别与NoSQL的中重要方面,是保证数据一致性的重要手段,本文将首先介绍MySQL事务相关的基础概念,然后介绍事务的ACID特性,并分析其实现原理 一 基础概
2019-06-25
  目录