理解mysql中的整型

按取值范围从大到小:bigint, int, mediumint, smallint, tinyint

1、bigint

8字节
最大长度21,因为有符号的数字前面多了一个负号。

有符号:-2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807)
无符号:0 - 18446744073709551615

2、int

4字节
最大长度11

有符号:-2^31 (-2147483648) 到 2^31-1 (2147483647)
无符号:0 - 4294967295

3、mediumint

3字节
最大长度9

有符号:-2^23 (-8388608) 到 2^23-1 (8388607)
无符号:0 - 16777215

4、smallint

2字节
最大长度6

有符号:-2^15 (-32,768) 到 2^15-1 (32767)
无符号:0 - 65535

5、tinyint

1字节
最大长度4

有符号:-128 到 127
无符号:0 - 255

值得注意的是:
在设计字段的时候,对于整形而言,长度的设置是没有必要的,因为bigint, int, mediumint, smallint, tinyint, 以及是否是有符号的才是决定该字段存储范围的。
比如:visite_num int(1) unsigned 和 visite_num int(10) unsigned 的存储和计算范围是一样的。
而且你会发现有符号的比无符号的长度多一位,那是有符号的会多出一个负号在前面。所以对于整形而言。这个长度也是字符的长度,而不是字节数。这个长度的唯一用途就是展示,比如在mysql命令行工具上展示的字符长度就不一样。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值