MySQL几种数据类型精度和标度的情况

1、整型

int默认是int(11),创建字段int(5),当保存的数据长度大于5时,可以正常保存,保存的数据完整显示;

2、浮点型

float(M,D)和double(M,D)

如果不写精度和标度,则会按照实际精度值显示,如果有精度和标度,则会自动将四舍五入的结果插入,不会报错

3、定点型

decimal(M,D)

如果不写精度和标度,则按照默认值decimal(10,0)来进行操作,并且如果数据超越了精度和标度值,系统会报错。

4、位类型

默认为1位,插入超出定义的范围的数据会报错。

5、日期类型

datetime长度为8

date长度为4

timestamp长度为4

创建表的时候,第一个timestamp会自动附加缺省值current_timestamp,而第二个timestamp类型默认值设置为0(一个表中只能有一个列默认值为current_timestamp)

timestamp与datetime相比,存储的日期范围更小,而且与时区相关

time长度为3

year长度为1

超出有效值的范围会产生报错。

6、char和varchar类型

char固定长度,在检索的时候会删除尾部的空格,varchar则保留空格

7、binary和varbinary类型

当保存binary时,在值的最后填充‘0x00’以达到指定的字段定义长度

推荐阅读更多精彩内容