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

7次阅读

MySQL 数据类型分数值、字符串、日期时间三类。数值型包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、FLOAT、DOUBLE 和 DECIMAL,适用于不同范围和精度的数字存储;字符串型有 CHAR、VARCHAR、TEXT 系列、ENUM 和 SET,分别用于固定 / 可变长度文本、长文本及枚举集合;日期时间型包含 DATE、TIME、DATETIME、TIMESTAMP 和 YEAR,支持各种时间格式与时区处理。合理选择类型可提升性能、节省空间,如金额用 DECIMAL、状态用 ENUM、长文本选 TEXT、时间记录优先 TIMESTAMP,避免溢出与精度丢失。

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

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。正确使用类型能有效避免数据溢出、精度丢失等问题。不复杂但容易忽略。

text=ZqhQzanResources