使用 MySQL 数据库存储数据时,不同的数据类型决定了 MySQL 存储数据方式的不同。为此,MySQL 数据库提供了多种数据类型,其中包括整数类型、浮点数类型、定点数类型、日期和时间类型、字符串类型和二进制类型。
在 MySQL 数据库中,经常需要存储整数数值。根据数值取值范围的不同,MySQL中的整数类型可分为5种,分别是 TINYINT、SMALLINT、MEDIUMINT、INT 和BIGINT。下表列举了 MySQL不同整数类型所对应的字节大小和取值范围。
数据类型 | 字节数 | 无符号数的取值范围 | 有符号数的取值范围 |
TINYINT | 1 | 0 ~ 255 | -128 ~ 127 |
SMALLINT | 2 | 0 ~ 65 535 | -32 768 ~ 32 767 |
MEDIUMINT | 3 | 0 ~ 16 777 215 | -8 388 608 ~ 8 388 607 |
INT | 4 | 0 ~ 4 294 967 295 | -2 147 483 648 ~ 2 147 483 647 |
BIGINT | 8 | 0 ~ 18 446 744 073 709 551 615 | -9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807 |
从表中可以看出,不同整数类型所占用的字节数和取值范围都是不同的。其中,占用字节数最小的是 TINYINT,占用字节数最大的是 BIGINT。需要注意的是,不同整数类型的取值范围可以根据字节数计算出来,例如,TINYINT类型的整数占用1个字节,1个字节是 8 位,那么,TINYINT 类型无符号数的最大值就是 2^8-1,即255,TINYINT类型有符号数的最大值就是2^7-1,即127同理,可以算出其他不同整数类型的取值范围。