smallint

10个月前科技515

前沿

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

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 是为什么呢,请大家在留言板告诉我。

欢迎大家关住本人头条号,谢谢各位程序猿同胞看到这里。

相关文章

快手极速版如何删除自己的作品(删除或修改发布的视频这样操作)

快手极速版如何删除自己的作品(删除或修改发布的视频这样操作)

1、打开我的创作中心。2、找到应册或者修改的那条视频或微头条等。3,从本条最下一行字往右找到三个并排的小黒点⋯。4、点这三个小黑点即可出现一黑框,黑框即可显示修改,删除等。5、点击应点的字条即可达到目的。...

微信没实名认证能收红包吗

微信没实名认证能收红包吗

一、微信不实名认证能收红包吗?微信是大家最喜爱的通讯软件之一,它深受用户欢迎,给我们带来很多便捷和乐趣,可是有些小伙伴还不太熟悉它的一些设置,比如,很多人不清楚如何在手机微信中实现只用身份证不绑定银行卡同样能实名认证,小...

怎么申请apple id

怎么申请apple id

相信过年肯定会有一部分人换新手机,那么今天我们就来聊一聊,新 iPhone 到手后都需要做什么呢? ① 检查屏幕机身 很多人都说先要验机,其实只要你不贪图便宜一般没必要验机。反而像绿屏、划痕、摄...

6.44英寸手机有多大

6.44英寸手机有多大

一、6.44英寸有多大用米3实际测量算了一下。长8厘米,高14.6厘米。二、6.4寸的手机有多大?根据市场长宽16:9的比例6.4寸手机屏幕长大概是14.17宽大概是7.97。6.4寸的手机长宽一般来说是不确定的,因为一...

2022ipad截屏快捷键手势(苹果截屏功能在哪里)

2022ipad截屏快捷键手势(苹果截屏功能在哪里)

最新的iPad Air 5大家入手了吗?搭载M1芯片,取消Home键,全面屏设计。 随着近几年全面屏iPad系列机型越来越多,很多交互设计与以前老机型都有所差异。就如iPad常用到的截屏方法,目前已有高达 7...