zoukankan      html  css  js  c++  java
  • 关于 MySQL int tinyint 类型的那点事

    1.MySQL字段规定类型之后,存储是定长的,int(1)和int(4)从本身长度还是存储方式上都是一样的。mysql里,int(1)和int(4)的区别就是显示的长度,但是要设置一个参数:如果列制定了zerofill 就会用0填充显示,如2 int(3)指定后就会显示为002。

    2.int 存储占4个字节, tinyint   存储占1个字节,存储长度决定了他们表示的数字范围不同。int表示的数字范围是:从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字)。tinyint 表示的范围是0-255之间的数字。

    3.tinyint(1),和tinyint(3)没什么区别,存123都能存的下,而如果tinyint(3) zerofill 的话,插入值 12,会存储012,zerofill自动左边补零,这才是限制显示长度。

    我把限制显示长度理解成了  tinyint(1) 存123 应该只存其中一个数字。

    下面是精简总结:

    tinyint(1)  和 tinyint(3) 没什么区别,占用字节都是一位,存储范围都是一样的。

    tinyint(3) zerofill ,当插入的数据少于3位的时候,左边自动补零,这才是限制显示长度啊。

    int(1) 和 tinyint(1) ,够用的情况下,优先选择tinyint(1),因为占字节少、节省空间。

    tinyint一个字节   smallint  两个字节   MEDIUMINT三个字节  int 4个字节  BIGINT 8个字节。

    但是,varchar(5)  这里的5 限制的是储存字符的个数,字符不分贵贱( 是不分 中文、英文、数字...)。

    总结数据来源于网络。。。

  • 相关阅读:
    Win7 64位环境下安装mysql5.6
    High CPU Usage 原因及分析
    SQL Server 2012 AlwaysOn 亲身实历记
    elasticsearch的简单介绍
    url().openStream 的超时问题处理
    关于数据库tinyint 字段的值范围
    linux磁盘空间不足预警的相关问题
    关于Dubbo一个接口多个实现的解决方案
    一个优化登录判断的技巧
    SimpleDateFormat的线程安全问题与解决方案
  • 原文地址:https://www.cnblogs.com/sunny-blog/p/3899762.html
Copyright © 2011-2022 走看看