外观
数字类型
MySQL支持所有的ANSI/ISO 92 数字类型,包括准确数字的数字类型以及近似数字的数字类型。
数据类型主要可以分为整型和浮点型两种数据类型,如下:
- 整型
| 数据类型 | 取值范围 | 说明 | 单位 |
|---|---|---|---|
| TINYINT | 符号值:-128~127,无符号值:0~255 | 最小的整数 | 1字节 |
| BIT | 符号值:-128~127,无符号值:0~255 | 最小的整数 | 1字节 |
| BOOL | 符号值:-128~127,无符号值:0~255 | 最小的整数 | 1字节 |
| SMALLINT | 符号值:-32768~32767,无符号值:0~65535 | 小型整数 | 2字节 |
| MEDIUMINT | 符号值:-8388608~8388607,无符号值:0~16777215 | 中型整数 | 3字节 |
| INT | 符号值:-2147683648~2147683647,无符号值:0~4294967295 | 标准整数 | 4字节 |
| BIGINT | 符号值:-9223372036854775808~9223372036854775807, 无符号值:0~18446744073709551615 | 大型整数 | 8字节 |
- 浮点型
| 数据类型 | 取值范围 | 说明 | 单位 |
|---|---|---|---|
| FLOAT | +(-)3.402823466E+38 | 单精度浮点数 | 8或4字节 |
| DOUBLE | +(-)1.7976931348623157E+308、 +(-)2.2250738585072014E-308 | 双精度浮点数 | 8字节 |
| DECIMAL | 可变 | 一般整数 | 自定义长度 |
其中DECIMAL是精度确定的小数,比如想要指定总位数为8、小数位数为2的数就可以使用DECICAL(8,2),其中8就表示总共有8位数,2表示其中有2位小数。
FLOAT和DOUBLE存在误差问题,尽量避免浮点数比较,若要使用货币等高精度的数字则应该使用DECIMAL数据类型。