在 MySQL 里,不同字段类型有着不同的长度限制,下面为你详细介绍常见字段类型的长度相关信息。
数值类型
类型
|
长度范围
|
TINYINT
|
-128 到 127(有符号)或 0 到 255(无符号),存储大小为 1 字节
|
SMALLINT
|
-32768 到 32767(有符号)或 0 到 65535(无符号),存储大小为 2 字节
|
MEDIUMINT
|
-8388608 到 8388607(有符号)或 0 到 16777215(无符号),存储大小为 3 字节
|
INT
|
-2147483648 到 2147483647(有符号)或 0 到 4294967295(无符号),存储大小为 4 字节
|
BIGINT
|
-9223372036854775808 到 9223372036854775807(有符号)或 0 到 18446744073709551615(无符号),存储大小为 8 字节
|
FLOAT(p)
|
当 p 为 0 - 24 时,单精度,存储大小为 4 字节;当 p 为 25 - 53 时,双精度,存储大小为 8 字节
|
DOUBLE
|
双精度,存储大小为 8 字节
|
DECIMAL(M, D)
|
M 是总位数(最大 65),D 是小数位数(最大 30)
|
日期和时间类型
类型
|
长度及范围
|
DATE
|
支持的范围是 '1000-01-01' 到 '9999-12-31',存储大小为 3 字节
|
TIME
|
支持的范围是 '-838:59:59' 到 '838:59:59',存储大小为 3 字节
|
DATETIME
|
支持的范围是 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59',存储大小为 5 字节
|
TIMESTAMP
|
支持的范围是 '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC,存储大小为 4 字节
|
YEAR
|
支持的范围是 1901 到 2155,存储大小为 1 字节
|
字符串类型
类型
|
长度范围
|
CHAR(M)
|
M 为 0 到 255 之间的整数,存储大小为 M 字节
|
VARCHAR(M)
|
M 为 0 到 65535 之间的整数,实际存储大小为字符串长度加 1 或 2 字节(根据字符集不同)
|
TINYTEXT
|
最大长度为 255 字节
|
TEXT
|
最大长度为 65535 字节
|
MEDIUMTEXT
|
最大长度为 16777215 字节
|
LONGTEXT
|
最大长度为 4294967295 字节
|
BINARY(M)
|
M 为 0 到 255 之间的整数,存储大小为 M 字节
|
VARBINARY(M)
|
M 为 0 到 65535 之间的整数,实际存储大小为字符串长度加 1 或 2 字节(根据字符集不同)
|
TINYBLOB
|
最大长度为 255 字节
|
BLOB
|
最大长度为 65535 字节
|
MEDIUMBLOB
|
最大长度为 16777215 字节
|
LONGBLOB
|
最大长度为 4294967295 字节
|
ENUM
|
最多可包含 65535 个不同的元素
|
SET
|
最多可包含 64 个不同的元素
|
需要注意,实际的存储长度可能会受字符集、编码方式以及存储引擎等因素的影响。