mysql数据类型

153 阅读1分钟

整数类型

显示的宽度和数据类型的取值范围是没有任何关系的,显示宽度只是指明Mysql最大可能显示的数字个数,数值的位数小于指定的宽度时会由空格填充;如果插入了大于显示宽度的值,只要该值不超过该类型的取值范围,数值依然可以插入,而且能够显示出来。

实数类型

FLOAT(M,D) 和 DOUBLE(M,D) 表示一共显示 M 位整数,D 位小数。

FLOAT 只保证 6 位有效数字的准确性,所以 FLOAT(M,D) 中,M<=6 时,数字通常是准确的。
DOUBLE 只保证 16 位有效数字的准确性,所以 DOUBLE(M,D) 中,M<=16 时,数字通常是准确的。

字符串类型

VARCHAR 长度可以指定 0 到 65535 之间的值。

BLOB 和 TEXT 主要用来存储大文本,分别采用二进制和字符串方式存储。如果 BLOB 和 TEXT 还无法满足需求,还可以使用 TINYBLOB、 MEDIUMBLOB、 LONGBLOB、 TINYTEXT、 MEDIUMTEXT、 LONGTEXT。值得注意的是,它们不能够有默认值

一个汉字占多少长度与编码有关:
UTF-8:一个汉字=3个字节
GBK:一个汉字=2个字节

时间类型

浮点和日期等数据类型对数据的宽度没有要求,一般也不设置,默认是0

MySQL 能够存储的最小单位是秒,如果需要更精确的存储,就必须自己定义存储格式。

MySQL 时间类型是存在范围的。

image.png