MySQL支持多种字段类型,这些类型定义了数据在数据库中如何存储,以及可以对这些数据执行哪些操作。以下是MySQL字段类型对照表及相关信息:
| 类型名称 | 描述 | 存储大小 | 范围 | | :--: | :--: | :--: | :--: | | TINYINT | 1字节,有符号范围(-128,127),无符号范围(0,255) | 1字节 | -128 ~ 127 / 0 ~ 255 | | SMALLINT | 2字节,有符号范围(-32768,32767),无符号范围(0,65535) | 2字节 | -32768 ~ 32767 / 0 ~ 65535 | | MEDIUMINT | 3字节,有符号范围(-8388608,8388607),无符号范围(0,16777215) | 3字节 | -8388608 ~ 8388607 / 0 ~ 16777215 | | INT或INTEGER | 4字节,有符号范围(-2147483648,2147483647),无符号范围(0,4294967295) | 4字节 | -2147483648 ~ 2147483647 / 0 ~ 4294967295 | | BIGINT | 8字节,有符号范围(-9223372036854775808,9223372036854775807),无符号范围(0,18446744073709551615) | 8字节 | -9223372036854775808 ~ 9223372036854775807 / 0 ~ 18446744073709551615 | | FLOAT | 4字节,单精度浮点数 | 4字节 | 约-3.4E38 ~ 3.4E38 | | DOUBLE | 8字节,双精度浮点数 | 8字节 | 约-1.8E308 ~ 1.8E308 | | DECIMAL(M,D) | 任意精度,有符号 | 取决于精度和小数位 | 精确值,取决于M和D的值 | | CHAR(n) | 固定长度字符串 | n字节 | 1 ~ 255 | | VARCHAR(n) | 变长字符串 | L + 1字节 | 1 ~ 65535 | | TEXT | 长文本数据 | L + 2字节 | 65535字节 | | MEDIUMTEXT | 中等长度文本数据 | L + 3字节 | 16777215字节 | | LONGTEXT | 极大长度文本数据 | L + 4字节 | 4294967295字节 | | DATE | 日期值 | 3字节 | 1000-01-01/9999-12-31 | | TIME | 时间值 | 3字节 | '-838:59:59'/'838:59:59' | | YEAR | 年份值 | 1字节 | 1901/2155 | | DATETIME | 混合日期和时间值 | 8字节 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | | TIMESTAMP | 混合日期和时间值,时间戳 | 4字节 | 1970-01-01 00:00:00/2038-01-19 03:14:07 | | BINARY | 二进制数据 | L字节 | 变长 | | VARBINARY | 变长二进制数据 | L字节 | 变长 | | BLOB | 二进制大对象 | L字节 | 0 ~ 65535字节 | | MEDIUMBLOB | 中等大小二进制对象 | L字节 | 0 ~ 16777215字节 | | LONGBLOB | 大二进制对象 | L字节 | 0 ~ 4294967295字节 | | ENUM | 枚举类型 | 1 ~ 255字节 | 枚举列表中的一个值 | | SET | 集合类型 | 1 ~ 65535字节 | 枚举列表中的一个或多个值 |
通过了解这些基础概念和应用场景,你可以更好地选择和使用MySQL中的数据类型,从而提高数据库的性能和数据的完整性。