十二、MySQL 数据类型
MySQL 中众多的数据类型可供选择,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
MySQL 中定义恰当的数据字段的类型对 MySQL 数据库的优化是非常重要的
数值类型
MySQL 支持所有标准 SQL 数值数据类型
这些类型包括
1、 严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC);
2、 近似数值数据类型(FLOAT、REAL和DOUBLEPRECISION);
关键字INT 是 INTEGER 的同义词,关键字 DEC 是 DECIMAL 的同义词
BIT 数据类型保存位字段值,并且支持 MyISAM 、MEMORY 、InnoDB 和 BDB 等数据库引擎
作为SQL 标准 的扩展,MySQL 也支持整数类型 TINYINT 、 MEDIUMINT 和 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 INTEGER | 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) | 极大整数值 |
| FLOAT | 4 字节 | (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) | 0,(1.175 494 351 E-38,3.402 823 466 E+38) | 单精度浮点数值 |