注意点:

①int(4)只能存储4个长度的数字,int(11)就会存储11个长度的数字,这种理解是错误的。

看下面的两个例子:


    通过上面的例子可以看出,即使我指定了int(M)中M的长度,实际上MySQL中能存储的数据不仅是M的长度。是不是我指定了不同M的长度,所占的存储空间就不一样呢?也就是说数据的存储空间是不是会随着M的增加而增大呢?如果你的回答是肯定的话,那么,对数据存储所占空间大小的理解可能像小编之前一样,存在一些偏差。

    实际上int(M)所占多少存储空间与指定的长度M并无任何关系。int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。说白了,除了显示给用户的方式有点不同外(实际数据长度<M,且指定zerofill,则数据呈现状态会在左面填充0,以满足指定的长度M),int(M) 跟 int 数据类型本身所占存储空间大小是相同的。

举例:

        int 的值是10 (指定zerofill)int(8)的显示结果为 00000010 (左边填充6个0,以满足指定数据长度)int(5)的显示结果为 00010(左边填充3个0)只是显示的长度不一样而已,都是占用四个字节的空间。


对于其他类型(M指定的数据长度也同样适用,M 代表的并不是存储在数据库中的具体长度,如果设定了zerofill属性,当数据的宽度小于设定的宽度时(2<8),则自动填充0,这只是最后显示的结果(一种格式化输出),但是在Mysql中实际存储的还是10。

int、bigint、mediumint、smallint、tinyint的比较相关推荐

  1. Mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围

    Mysql中bigint.int.mediumint.smallint 和 tinyint的取值范围 引言 社区这边的业务就遇到过这个坑,由于是用的开源框架,很多表id的字段用的mediumint类型 ...

  2. mysql mediumint(8)_mysql中bigint、int、mediumint、smallint与tinyint的取值范围

    https://blog.csdn.net/github_39110707/article/details/74277381 mysql数据库设计,其中对性能优化,字段类型很重要,下面对bigint. ...

  3. mysql中bigint、int、mediumint、smallint 和 tinyint的区别

    最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint.其中比较迷惑的是int和smallint的差别.今天就在网上仔细找了找,找到如下内容, ...

  4. SQL数据类型 bigint、int、mediumint、smallint、tinyint 取值范围,占位

    SQL数据类型 bigint.int.mediumint.smallint.tinyint 取值范围: 1.tinyint,一位大小为 1 字节. -27 (-128) 到 27 - 1 (127)的 ...

  5. 【mysql】关于mysql中int(M)类型的具体含义以及tinyint/smallint/mediumint/int/bigint的区别是什么?

    之前定义数据库类型一直不理解int(M)的具体含义,M决定的是什么?不同M的值的区别是什么?tinyint / smallint / mediumint / int / bigint这些类型又有什么不 ...

  6. MYSQL中TINYINT SMALLINT MEDIUMINT INT BIGINT的区分

    在MYSQL当中整形数据的存储有四种,分别是TINYINT SMALLINT MEDIUMINT INT BIGINT,它们的区分如下: 类型 存储大小(字节) 最小有符号数 最小无符号数 最大有符号 ...

  7. mysql smallint 长度_mysql中int、bigint、smallint 和 tinyint长度范围和区别

    最近使用mySQL数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint.其中比较迷惑的是int和smallint的差别.今天就在网上仔细找了找,找到如下内容, ...

  8. Mysql中int、bigint、smallint 和 tinyint的区别详细介绍

    下表是各类型信息: 1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是-128到127 1. BIT[M] 位字段类型,M表示每个值的位数 ...

  9. int、bigint、smallint 和 tinyint

    int.bigint.smallint 和 tinyint 使用整数数据的精确数字数据类型. bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (92233 ...

  10. mysql bigint 运算_mysql中int、bigint、smallint 和 tinyint的区别详细介绍

    最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint.其中比较迷惑的是int和smallint的差别.今天就在网上仔细找了找,找到如下内容, ...

最新文章

  1. 关于adb devices连不上手机的几种情况
  2. IntelliJ IDEA 重大更新:支持CPU火焰图,新增酷炫主题
  3. hdu1435 稳定婚姻问题
  4. 启动ipython出错_python-在异常情况下启动IPython shell
  5. 以智能数据架构,挖掘增长金矿
  6. Python第二周 str的方法
  7. 前端学习(1485):restful接口规则
  8. 计算机应用基础答案高继梅,[Flash游戏制作.doc
  9. 蓝桥杯 ADV-69 算法提高 质因数
  10. 开源GIS(十三)——openlayers通过geoserver中WFS添加要素
  11. 项目管理实践之版本控制工具SVN在Windows平台下的平台搭建
  12. mysql之高性能索引
  13. 模块句柄(实例句柄)和句柄的区别
  14. 【电子产品】Fast FWR200 公司使用设备人数超过20个后,之后的设备无法上网
  15. 网络系统设计综合布线方案
  16. UVALive 6860 Most Influential Pumpkin
  17. CCU ETL脚本列表
  18. 人工智能,机器学习,深度学习培训,课程大纲
  19. htmlunit 使用代理IP
  20. ABBYY Lingvo European for Mac(万能词典) v1.12.0

热门文章

  1. Android 开发中常用小技巧
  2. 使用mysql备份工具innobackupex进行本地数据备份、恢复操作实例
  3. 一个B/S结构自动二次请求需求的实现
  4. 在 net send 命令中实现换行(信使服务)
  5. 使用Grunt构建任务管理脚本(转)
  6. 大数据集群中数据互相导通流程汇总(持续更新中)
  7. -webkit-border-radius和-moz-border-radius(转)
  8. 中文高频词汇统计并绘制词云
  9. sublime中文输入(转)
  10. OpenCV学习笔记七-创建滑动条