1 串数据类型

字符串数据类型必须括在引号内(通常为单引号,使用双引号也行)。

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

2 数值数据类型

数值类型不用包含在引号中

数据类型 说明
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)的数

3 日期和时间数据类型

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

4 二进制数据类型

二进制数据类型可存储任何数据(甚至包括二进制信息),如图像、 多媒体、字处理文档等。

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

参考资料

  1. 《MySQL 必知必会》