MySQL中bigint、int、mediumint、smallint、tinyint有符号和无符号的取值范围
想要了解取值范围首先需要知道的是 bit 和 Byte 的概念
bit :位
二进制数系统中,位通常简写为 "b",也称为比特,每个二进制数字 0 或 1 就是一个位(bit)。位是表示信息的最小单位,其中 8 bit 就称为一个字节(Byte)。
Byte :字节
字节(Byte)是用于计量存储容量的一种计量单位,是计算机中表示存储空间最基本的容量单位,字节通常简写为 "B"。
bit 与 Byte
数据存储是以“字节”(Byte)为单位,数据传输大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个 0 或 1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。
取值范围
tinyint、smallint、mediumint、int、bigint 分别占用 1、2、3、4、8字节,使用 8、16、24、32、64 位存储空间。它们的有符号可以存储的值的范围从 -2N-1 到 2N-1-1,其中 N 是存储空间的位数。
无符号是设置了 unsigned 属性,表示不允许负值,这大致可以使正数的上限提高一倍。
类型
字节
位
有符号范围
无符号范围
tinyint
1
8
-128 ~ 127
0 ~ 255
smallint
2
16
-215 ~ 215-1
0 ~ 2*215-1
mediumint
3
24
-223 ~ 223-1
0 ~ 2*223-1
int
4
32
-231 ~ 231-1
0 ~ 2*231-1
bigint
8
64
-263 ~ 263-1
0 ~ 2*263-1
以上是 MySQL中bigint、int、mediumint、smallint、tinyint有符号和无符号的取值范围 的全部内容, 来源链接: utcz.com/z/535954.html