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类型,如:手机号码、身份证等固定长度的信息。

posted @ 2020-04-16 00:12  幻竹  阅读(114)  评论(0)    收藏  举报