MySQL常用数据类型分为数值、字符串、日期时间三大类,根据需求选择可提升性能。数值型包括TINYINT、SMALLINT、INT、BIGINT、FLOAT、DOUBLE和DECIMAL,适用于不同范围和精度的数字存储;字符串型有CHAR、VARCHAR、TEXT系列及ENUM,分别用于定长、变长文本及枚举值;日期时间型包含DATE、TIME、DATETIME、TIMESTAMP和YEAR,支持日期与时间的存储及自动更新。合理选用类型有助于优化存储和查询效率。
MySQL 中常用的数据类型可以分为几大类:数值类型、字符串类型、日期和时间类型。下面列出最常用的类型及其适用场景。
数值类型
用于存储数字数据,根据是否需要小数和取值范围选择合适类型。
• TINYINT:小整数,占用 1 字节,范围 -128 到 127(有符号),适合状态标记(如 0/1)。
• SMALLINT:中等整数,2 字节,范围约 -3万到 +3万。
• INT 或 INTEGER:标准整数,4 字节,范围约 -21亿到 +21亿,最常用于主键或普通数字字段。
• BIGINT:大整数,8 字节,适合存储大数量级数据,如用户ID、订单号等。
• FLOAT 和 DOUBLE:单精度和双精度浮点数,用于科学计算或对精度要求不高的小数。
• DECIMAL(M,D):定点数,精确存储小数,常用于金额、价格等需要高精度的场景,例如 DECIMAL(10,2) 表示最多 8 位整数和 2 位小数。
字符串类型
用于存储文本信息,不同类型的字符串在长度和存储方式上有所不同。
• CHAR(N):定长字符串,最大 255 字符,N 表示字符数,不足部分用空格填充,适合固定长度内容如性别、状态码。
• VARCHAR(N):变长字符串,最大 65535 字节(实际受行大小限制),N 表示最大字符数,节省空间,是文本字段最常用类型,如用户名、标题等。
• TEXT:用于存储较长文本,最大约 65KB,适合文章内容、描述等。
• MEDIUMTEXT:中等长度文本,最大约 16MB。
• LONGTEXT:大文本,最大约 4GB,适用于大量文本存储。
• ENUM:枚举类型,只能取预定义的几个值,如 (‘男’,’女’),节省空间且提高数据一致性。
日期和时间类型
处理时间相关的数据,支持自动格式化和计算。
• DATE:只存储日期,格式 ‘YYYY-MM-DD’,如 ‘2025-04-05’。
• TIME:只存储时间,格式 ‘HH:MM:SS’。
• DATETIME:存储日期和时间,格式 ‘YYYY-MM-DD HH:MM:SS’,范围从 ‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’。
• TIMESTAMP:时间戳,自动记录行的修改时间,范围较小(1970 到 2038 年),常用于创建时间、更新时间字段。
• YEAR:只存储年份,可以是 4 位格式。
基本上就这些常用类型,根据实际需求选择合适的类型能提升性能和节省存储空间。
mysql 字节 状态码 yy 2025 mysql 数据类型 Integer Float date timestamp 枚举类型 enum 字符串 char int double 值类型 字符串类型