MySQL数据类型详解
MySQL 数据类型详解
MySQL 支持多种数据类型,每种类型都有其特定的用途和存储方式。合理选择数据类型可以提高数据存储效率,优化查询性能。
数值类型
| 类型名称 | 占用空间 | 范围 | 用途 |
|---|---|---|---|
| TINYINT | 1 字节 | -128 到 127(无符号:0 到 255) | 小整数 |
| SMALLINT | 2 字节 | -32768 到 32767(无符号:0 到 65535) | 中等大小的整数 |
| MEDIUMINT | 3 字节 | -8388608 到 8388607(无符号:0 到 16777215) | 大整数 |
| INT | 4 字节 | -2147483648 到 2147483647(无符号:0 到 4294967295) | 大整数 |
| BIGINT | 8 字节 | -9223372036854775808 到 9223372036854775807(无符号:0 到 18446744073709551615) | 极大整数 |
| FLOAT | 4 字节 | 单精度浮点数 | 单精度浮点数 |
| DOUBLE | 8 字节 | 双精度浮点数 | 双精度浮点数 |
| DECIMAL | 根据精度和位数变化 | 定点数 | 用于存储精确的数值 |
字符串类型
| 类型名称 | 占用空间 | 用途 |
|---|---|---|
| CHAR | 固定长度,最大 255 字符 | 存储固定长度的字符串 |
| VARCHAR | 可变长度,最大 65535 字符 | 存储可变长度的字符串 |
| TEXT | 可变长度,最大 65535 字符 | 存储大文本 |
| LONGTEXT | 可变长度,最大 4GB | 存储超大文本 |
日期和时间类型
| 类型名称 | 占用空间 | 用途 |
|---|---|---|
| DATE | 3 字节 | 存储日期(YYYY-MM-DD) |
| TIME | 3 字节 | 存储时间(HH:MM:SS) |
| DATETIME | 8 字节 | 存储日期和时间(YYYY-MM-DD HH:MM:SS) |
| TIMESTAMP | 4 字节 | 存储时间戳 |
| YEAR | 1 字节 | 存储年份(YYYY) |
枚举和集合类型
| 类型名称 | 占用空间 | 用途 |
|---|---|---|
| ENUM | 1 或 2 字节 | 枚举类型,最多可以有 65535 个不同值 |
| SET | 1, 2, 3, 4 或 8 字节 | 集合类型,最多可以有 64 个不同值 |
二进制类型
| 类型名称 | 占用空间 | 用途 |
|---|---|---|
| BINARY | 固定长度,最大 255 字节 | 存储二进制数据 |
| VARBINARY | 可变长度,最大 65535 字节 | 存储可变长度的二进制数据 |
| BLOB | 可变长度,最大 65535 字节 | 存储二进制大对象 |
| LONGBLOB | 可变长度,最大 4GB | 存储二进制超大对象 |
JSON 类型
| 类型名称 | 占用空间 | 用途 |
|---|---|---|
| JSON | 可变长度 | 存储 JSON 格式的字符串 |
空间类型
MySQL 还支持空间类型,用于存储地理空间数据。
注意: 以上只是 MySQL 数据类型的一部分,更多详细信息请参考 MySQL 官方文档。