mysql数值类型
通过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都没有问题的