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

MySQL中的数据类型占用空间和范围
Mr.蓝桉| 数据类型 | 描述 | 占用空间 | 最大值~最小值 (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数据大小 |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果








