Mysql第二篇【Mysql数据类型】
MySQL的数据类型
主要包括以下五大类
整数类型:bit、bool、tinyint、smallint、mediumint、int、bigint
浮点数类型:float、double、decimal
字符类型:char、varchar、tinyblob、blob、mediumblob、longblob、tinytext、text、mediumtext、longtext
日期类型:Date、DateTime、TimeStamp、Time、Year
其他数据类型:暂不介绍,用的比较少。
整数类型
| 类型 | 字节数 | 无符号范围(unsigned) | 有符号范围 |
|---|---|---|---|
| tinyint | 1 | -2^7 ~ 2^7-1 | 0 ~ 2^8-1 |
| smallint | 2 | -2^15 ~ 2^15-1 | 0 ~ 2^16-1 |
| mediumint | 3 | -2^23 ~ 2^23-1 | 0 ~ 2^24-1 |
| int | 4 | -2^31 ~ 2^31-1 | 0 ~ 2^32-1 |
| bigint | 8 | -2^63 ~ 2^63-1 | 0 ~ 2^64-1 |
浮点数类型
float和double都是浮点型,float数值类型用于表示单精度浮点数值,而double数值类型用于表示双精度浮点数值,而decimal是定点型。
浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度。
float和double在不指定精度时,默认会按照实际的精度来显示,而DECIMAL在不指定精度时,默认整数为10,小数为0。
注意事项:
decimal采用的是四舍五入
float和double采用的是四舍六入五成双
float、double会存在精度问题,银行对统计结果要求比较精准的建议使用decimal。
日期类型
| 类型 | 字节数 | 范围 | 格式 | 用途 |
|---|---|---|---|---|
| year | 1 | 1901/2155 | YYYY | 年份值 |
| date | 3 | 1000-01-01/9999-12-31 | HH:MM:SS | 日期值 |
| time | 3 | -838:59:59/838:59:59 | YYYY-MM-DD | 时间值或持续时间 |
| datestamp | 4 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYYMMDDHHMMSS | 混合日期和时间,时间戳 |
| datetime | 8 | 1970-01-01/2038-01-19 11:14:07(北京时间,共2147483647秒)或2038-01-19 03:14:07(格林威治时间) | YYYY-MM-DD HH:MM:SS | 混合日期和时间 |
字符类型
char类型占用固定长度,如果存放的数据为固定长度的建议使用char类型,如:手机号码、身份证等固定长度的信息。

浙公网安备 33010602011771号