MySql数据类型分析(数值(整形)类型) Part1
MySql数据类型总结分析
包括三大类:
数值类型
字符类型
日期时间型
-
数值类型分析
MySQL的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL允许我们指定数值字段中的值是否有正负之分或者用零填补。
-
整形包括:
Tinyint
Smallint
Mediumint
Int
Bigint
-
表列出了整形数值类型以及它们的允许范围和占用的内存空间。
类型 |
大小 |
范围(有符号) |
范围(无符号) |
用途 |
TINYINT |
1字节 |
(-128,127) |
(0,255) |
小整数值 |
SMALLINT |
2字节 |
(-32 768,32 767) |
(0,65 535) |
大整数值 |
MEDIUMINT |
3字节 |
(-8 388 608,8 388 607) |
(0,16 777 215) |
大整数值 |
INT |
4字节 |
(-2 147 483 648,2 147 483 647) |
(0,4 294 967 295) |
大整数值 |
BIGINT |
8字节 |
(-9 233 372 036 854 775 808,9 223 372 036 854 775 807) |
(0,18 446 744 073 709 551 615) |
极大整数值 |
INT类型
在 MySQL中支持的
5个主要整数类型是 TINYINT,SMALLINT,MEDIUMINT,INT和
BIGINT。这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的。
MySQL以一个可选的显示宽度指示器的形式对 SQL标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。例如,指定一个字段的类型为 INT(6),就可以保证所包含数字少于 6 个的值从数据库中检索出来时能够自动地用空格填充。需要注意的是,使用一个宽度指示器不会影响字段的大小和它可以存储的值的范围。
万一我们需要对一个字段存储一个超出许可范围的数字,MySQL会根据允许范围最接近它的一端截短后再进行存储。还有一个比较特别的地方是,MySQL会在不合规定的值插入表前自动修改为 0。
UNSIGNED修饰符规定字段只保存正值。因为不需要保存数字的正、负符号,可以在储时节约一个“位”的空间。从而增大这个字段可以存储的值的范围。
ZEROFILL修饰符规定 0(不是空格)可以用来真补输出的值。使用这个修饰符可以阻止 MySQL 数据库存储负值。