通过mysql手册对mysql的数值数据类型进行了一个回顾,总结如下:
mysql支持所有标准SQL数值数据类型。这些类型包括严格数据类型:integer、smallint、decimal、numeric,以及近似数值数据类型:float、real、double precision。关键字int是integer的同义词,dec是decimal的同义词。
1字节(byte)=8位(bit)。每位只能是0或者1
1B=8b
1KB=1024B
1MB=1024KB
1G=1024MB
1T=1024G
1PB=1024T
类型
字节
最小值
最大值
(带符号的/无符号的)
(带符号的/无符号的)
TINYINT
1
-128(-2^7)
127(+2^7)
0
255(2^8)
SMALLINT
2
-32768(-2^15)
32767(+2^15)
0
65535(2^16)
MEDIUMINT
3
-8388608(-2^23)
8388607(+2^23)
0
16777215(2^24)
INT
4
-2147483648(-2^31)
2147483647(+2^31)
0
4294967295(2^32)
BIGINT
8
-9223372036854775808(-2^63)
9223372036854775807(+63)
0
18446744073709551615(2^64)
还有一个问题,就是我们在定义一个数值类型时会指定一个宽度值:int(5),这个5表示的是一个现实宽度,但是存入的值不是只能存入5位的,这个和可存入的值的长度是没有关系的,例如:int(5),你其实可以存入12345678都没有问题的