您的位置:首页 > 数码常识数码常识

mysql中int和bigint区别(int,smallint,tinyint,bigint)

2025-05-13人已围观

mysql中int和bigint区别(int,smallint,tinyint,bigint)
  前沿最近做MySQL数据库表设计的时候遇到了多种数字类型的数据,因此对使用哪种数据类型犯难了。以前也没有特别注意这一部分的内容,今天查了一下跟大家共勉。

  int,smallint,tinyint,bigint前沿

  mysql中精确的整数数字(是不是有点绕)数据类型主要有bigint,int,smallint和tinyint四种。四种用法和长度各不相同。

  一、bigint

  存储大小为 8 个字节,长度从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。

  在myBatis和JPA中生成实体类型为引用类型Long。

  对应Java中基本数据类型long,long(长整型)在内存中占64位,即8个字节-2^63~2^63-1,默认值0L(尽量用大写L表示长整型,不要用小写“ l ”,因为在IDE中小写“ l ”和“ 1 ”有点傻傻分不清楚)。

  ps: bigint已经有长度了,在mysql建表中的length,只是用于显示的位数。

  二、int

  存储大小为 4 个字节,长度从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字)。

  在myBatis和JPA中生成实体类型为引用类型Integer。

  对应Java中基本数据类型int,int(整型)在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0。

  三、smallint

  存储大小为 2 个字节,从 -2^15 (-32,768) 到 2^15 – 1 (32,767) 的整型数据。

  在myBatis和JPA中生成实体类型为引用类型Short。

  对应Java中基本数据类型short,short(短整型)在内存中占16位,即2个字节,取值范围-32768~32717,默认值0 。

  四、tinyint

  存储大小为 1 字节,从 0 到 255 的整型数据。

  在myBatis和JPA中生成实体类型为引用类型Byte。

  对应Java中基本数据类型byte,byte是Java中最想的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0。

  总结

  其实细看上面四个类型就会发现一定的规律。bigint,int,smallint和tinyint分别占用8、4、2、1个字节,每个字节占内存8位(bit)。那么他们的长度怎么计算呢?

  bigint:从 -2^(8*8 - 1)到2^(8*8-1) - 1;

  int:从-2^(4*8 - 1)到2^(4*8-1) - 1;

  smallint:从-2^(2*8 - 1)到2^(2*8-1) - 1;

  short:从-2^(1*8 - 1) 到2^(1*8-1) - 1;

  大家发现规律没有,只要这么一看就很容易记住了各个类型的长度了。

  大家请注意每个计算公式最后都 “ -1 ”。这个“ -1 ”是为什么呢,请大家在留言板告诉我。

  上面就是小居数码小编今天给大家介绍的关于(int,smallint,tinyint,bigint)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

  94%的朋友还想知道的:

  COUNT、COUNTA、COUNTBLANK函数区别(count函数用法)

  录屏软件和iPhone系统自带录屏的区别(苹果录屏软件是什么)

  adobepr和ae的区别(影视后期ae与pr的区别)

  企业微信影响个人微信吗(企业微信与个人微信有啥区别)



  156171
 

很赞哦! ()

随机图文