MySQL 数据类型

MySQL 的字符串由单引号 ' 或双引号 " 字符包围。例如:

'a string'

"another string"

在字符串中可以包含特殊字符,它们以反斜线符号 "\" 开头,称为转义字符。MySQL 识别下列转义字符:

内容
含义
\0 ASCII 0 字符
\' ASCII 39 单引号字符
\" ASCII 34 双引号字符
\b ASCII 8 退格字符
\n ASCII 10 换行字符
\r ASCII 13 回车字符
\t ASCII 9 制表字符
\z ASCII 26 文件结束字符
\\ ASCII 92 反斜线字符
\% ASCII 37 "%" 字符,禁止作为通配符
\_ ASCII 95 "_" 字符,禁止作为通配符
标识符 类型 说明
TINYINT[(M)] [UNSIGNED] [ZEROFILL] 很小整数 有符号的范围是 -128 到 127。
无符号的范围是 0 到 255。
BIT BOOL   它们是 TINYINT(1) 的同义词。
SMALLINT[(M)] [UNSIGNED] [ZEROFILL] 小整数 有符号的范围是 -32768 到 32767。
无符号的范围是 0 到 65535。
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] 中整数 有符号的范围是 -8388608 到 8388607。
无符号的范围是 0 到 16777215。
INT[(M)] [UNSIGNED] [ZEROFILL]

INTEGER[(M)] [UNSIGNED] [ZEROFILL]

整数 有符号的范围是 -2147483648 到 2147483647。
无符号的范围是 0 到 4294967295。
BIGINT[(M)] [UNSIGNED] [ZEROFILL] 大整数 有符号的范围是 -9223372036854775808 到 9223372036854775807。
无符号的范围是 0 到 18446744073709551615。
FLOAT(precision) [UNSIGNED] [ZEROFILL] 浮点数 precision 可以是 <=24 作为一个单精度的浮点数字
介于 25 和 53 之间作为一个双精度的浮点数字。为 ODBC 兼容设置
FLOAT[(M,D)] [UNSIGNED] [ZEROFILL] 小单精度 -3.402823466E+38 到 -1.175494351E-38
0 和 1.175494351E-38 到 3.402823466E+38。
DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]

DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL]

REAL[(M,D)] [UNSIGNED] [ZEROFILL]

双精度 -1.7976931348623157E+308 到 -2.2250738585072014E-308、0 和 2.2250738585072014E-308 到 1.7976931348623157E+308。
DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
DEC[(M[,D])] [UNSIGNED] [ZEROFILL]
NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL]
定点数 以字符形式存储的数字,缺省值 M(10),D(10)。负号位置不计。
DATE 日期 '1000-01-01' 到 '9999-12-31'
DATETIME 日期和时间 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'
TIMESTAMP[(M)] 时间戳 '1970-01-01 00:00:00' 到 2037 年间的任意时刻
TIME 时间 '-838:59:59' 到 '838:59:59'
YEAR[(2|4)] 四位(1901 到 2155、0000),两位(70-69)
[NATIONAL] CHAR(M) [BINARY] 定长字符串 总是以空格填满,长度 0-255
CHAR 字符 CHAR(1)
[NATIONAL] VARCHAR(M) [BINARY] 变长字符串 尾部空格删除,长度 0-255
TINYBLOB

BLOB

MEDIUMBLOB

LONGBLOB

BLOB 最大长度为 255

最大长度为 65535

最大长度为 16777215

最大长度为 4294967295

TINYTEXT

TEXT

MEDIUMTEXT

LONGTEXT

TEXT 最大长度为 255

最大长度为 65535

最大长度为 16777215

最大长度为 4294967295

ENUM('value1','value2',...) 枚举类型 最大 65535 个不同的值
SET('value1','value2',...) 集合 最大 64 个成员

关于 BIGINT 列:

该列在进行 INSERT 或 UPDATE 操作时自动更新,或赋于 NULL 值时以当前时间更新。

该列可用数字或字符串更新。

当列宽是 8 或 14 时,返回的是数字,其它返回字符串。各种长度格式有:YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD。