MySQL中的数据类型占用空间和范围

数据类型 描述 占用空间 最大值~最小值 (SIGNED) 最大值~最小值 (UNSIGNED)
TINYINT 微整数 1 byte -128 ~ 127 0 ~ 255
SMALLINT 小整数 2 bytes -32768 ~ 32767 0 ~ 65535
MEDIUMINT 中等整数 3 bytes -8388608 ~ 8388607 0 ~ 16777215
INT 或 INTEGER 整数 4 bytes -2147483648 ~ 2147483647 0 ~ 4294967295
BIGINT 大整数 8 bytes -9223372036854775808 ~ 9223372036854775807 0 ~ 18446744073709551615
FLOAT 单精度浮点数 4 bytes -3.40282347E+38 ~ 3.40282347E+38 0 ~ 3.40282347E+38
DOUBLE 双精度浮点数 8 bytes -1.7976931348623157E+308 ~ 1.7976931348623157E+308 0 ~ 1.7976931348623157E+308
DECIMAL(M,D) 精确小数,M为总位数,D为小数位 M+2字节 取决于M和D 取决于M和D
DATE 日期 3 bytes 0000-01-01 ~ 9999-12-31 0000-01-01 ~ 9999-12-31
TIME 时间 3 bytes -838:59:59 ~ 838:59:59 00:00:00 ~ 838:59:59
DATETIME 日期时间 5 bytes 0000-01-01 00:00:00 ~ 9999-12-31 23:59:59 0000-01-01 00:00:00 ~ 9999-12-31 23:59:59
TIMESTAMP 时间戳 4 bytes 1970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:07 UTC 1970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:07 UTC
YEAR 年份 1 byte 1901 ~ 2155 1901 ~ 2155
CHAR(M) 固定长度字符串 M bytes 空字符串 ~ M字符字符串 空字符串 ~ M字符字符串
VARCHAR(M) 可变长度字符串 长度 + 1 byte 空字符串 ~ M字符字符串 空字符串 ~ M字符字符串
TINYTEXT 小文本 长度 + 1 byte 空字符串 ~ 255字符字符串 空字符串 ~ 255字符字符串
TEXT 文本 长度 + 2 bytes 空字符串 ~ 65,535字符字符串 空字符串 ~ 65,535字符字符串
MEDIUMTEXT 中等文本 长度 + 3 bytes 空字符串 ~ 16,777,215字符字符串 空字符串 ~ 16,777,215字符字符串
LONGTEXT 大文本 长度 + 4 bytes 空字符串 ~ 4,294,967,295字符字符串 空字符串 ~ 4,294,967,295字符字符串
BINARY(M) 固定长度二进制字符串 M bytes 空字符串 ~ M字节字符串 空字符串 ~ M字节字符串
VARBINARY(M) 可变长度二进制字符串 长度 + 1 byte 空字符串 ~ M字节字符串 空字符串 ~ M字节字符串
TINYBLOB 小BLOB 长度 + 1 byte 空二进制字符串 ~ 255字节 空二进制字符串 ~ 255字节
BLOB BLOB 长度 + 2 bytes 空二进制字符串 ~ 65,535字节 空二进制字符串 ~ 65,535字节
MEDIUMBLOB 中等BLOB 长度 + 3 bytes 空二进制字符串 ~ 16,777,215字节 空二进制字符串 ~ 16,777,215字节
LONGBLOB 大BLOB 长度 + 4 bytes 空二进制字符串 ~ 4,294,967,295字节 空二进制字符串 ~ 4,294,967,295字节
ENUM(‘value1’,…) 枚举,预定义字符串列表中选择 1~2 bytes 取决于枚举值 取决于枚举值
SET(‘value1’,…) 集合,预定义字符串列表中选择 1~8 bytes 取决于集合值 取决于集合值
BIT(M) 位字段 M bits 0 ~ 2^M - 1 0 ~ 2^M - 1
GEOMETRY 空间几何数据类型 可变 取决于数据大小 取决于数据大小
POINT 点类型 可变 取决于数据大小 取决于数据大小
LINESTRING 线字符串类型 可变 取决于数据大小 取决于数据大小
POLYGON 多边形类型 可变 取决于数据大小 取决于数据大小
JSON JSON数据类型 可变 取决于JSON数据大小 取决于JSON数据大小