mysql数据库有哪些类型_mysql数据库类型说明

来源:这里教程网 时间:2026-02-28 20:29:40 作者:

MySQL数据库支持多种数据类型,主要分为三大类:数值类型、字符串(字符)类型和日期时间类型。合理选择数据类型有助于提升数据库性能、节省存储空间。

数值类型

用于存储数字数据,包括整数和浮点数。

TINYINT:非常小的整数,占用1字节,范围是-128到127(有符号),或0到255(无符号)。
SMALLINT:小整数,占用2字节,范围约±3万。
MEDIUMINT:中等整数,占用3字节,范围约±8百万。
INT:标准整数,占用4字节,范围约±21亿,最常用。
BIGINT:大整数,占用8字节,适合存储超大数值,如用户ID、时间戳等。
FLOAT:单精度浮点数,用于小数,精度约7位。
DOUBLE:双精度浮点数,精度更高,约15位,适合科学计算。
DECIMAL(M,D):定点数,精确存储小数,M是总位数,D是小数位数,常用于金额字段。

字符串类型

用于存储文本或字符数据。

CHAR(N):固定长度字符串,最大255字符,不足部分用空格填充,适合长度固定的值如性别、状态码。
VARCHAR(N):可变长度字符串,最大65535字节(受行大小限制),实际使用更常见,节省空间。
TEXT:用于存储较长文本,最大65,535字符,不支持默认值,适合文章内容。
MEDIUMTEXT:中等长度文本,最大约16MB。
LONGTEXT:大文本,最大约4GB,适合存储日志或大段内容。
ENUM:枚举类型,只能取预定义的值之一,例如 ENUM('男','女'),节省空间且提高一致性。
SET:集合类型,可存储多个预定义值中的任意组合。

日期和时间类型

用于处理时间相关数据。

DATE:只包含日期,格式为 'YYYY-MM-DD',范围从 '1000-01-01' 到 '9999-12-31'。
TIME:表示时间或时间间隔,格式 'HH:MM:SS',支持时区偏移。
DATETIME:日期和时间组合,格式 'YYYY-MM-DD HH:MM:SS',范围较大,但不带时区。
TIMESTAMP:时间戳,自动转换为UTC存储,显示时转回当前时区,适合记录创建/修改时间。
YEAR:年份类型,可表示 1901 到 2155 年,占用1字节。

基本上就这些。根据实际业务需求选择合适的数据类型,比如金额用 DECIMAL,状态用 ENUM,长文本选 TEXT,时间记录优先考虑 TIMESTAMP。正确使用类型能有效避免数据溢出、精度丢失等问题。不复杂但容易忽略。

相关推荐