Skip to the content.

MySQL 数据类型

串数据类型

数据类型 说明
CHAR 1~255 个字符的定长串。它的长度必须在创建时指定,否则 MySQL 假定为 CHAR(1)
ENUM 接受最多 64 K 个串组成的一个预定义集合的某个串
LONGTEXT 与 TEXT 相同,但最大长度为 4GB
MEDIUMTEXT 与 TEXT 相同,但最大长度为 16K
SET 接受最多 64 个串组成的一个预定义集合的零个或多个串
TEXT 最大长度为 64K 的变长文本
TINYTEXT 与 TEXT 相同,但最大长度为 255 字节
VARCHAR 长度可变,最多不超过 255 字节。如果在创建时指定为 VARCHAR(n),则可存储 0 到 n 个字符的变长串(其中 n≤255)

数值数据类型

数据类型 说明
BIT 位字段,1~64 位。(在 MySQL 5 之前,BIT 在功能上等价于 TINYINT
BIGINT 整数值,支持9223372036854775808~9223372036854775807(如果是 UNSIGNED,为 0~18446744073709551615)的数
BOOLEAN(或 BOOL) 布尔标志,或者为 0 或者为 1,主要用于开/关(on/off)标志
DECIMAL(或 DEC) 精度可变的浮点值
DOUBLE 双精度浮点值
FLOAT 单精度浮点值
INT(或 INTEGER) 整数值,支持2147483648~2147483647(如果是 UNSIGNED,为 0~4294967295)的数
MEDIUMINT 整数值,支持8388608~8388607(如果是 UNSIGNED,为 0~16777215)的数
REAL 4 字节的浮点值
SMALLINT 整数值,支持32768~32767(如果是 UNSIGNED,为 0~65535)的数
TINYINT 整数值,支持128~127(如果为 UNSIGNED,为 0~255)的数

日期和时间数据类型

数据类型 说明
DATE 表示 1000-01-01~9999-12-31 的日期,格式为 YYYY-MM-DD
DATETIME DATE 和 TIME 的组合
TIMESTAMP 功能和 DATETIME 相同(但范围较小)
TIME 格式为 HH:MM:SS
YEAR 用 2 位数字表示,范围是 70(1970 年)~69(2069 年),用 4 位数字表示,范围是 1901 年~2155 年

二进制数据类型

数据类型 说明
BLOB Blob 最大长度为 64KB
MEDIUMBLOB Blob 最大长度为 16MB
LONGBLOB Blob 最大长度为 4GB
TINYBLOB Blob 最大长度为 255 字节