MySQL 数据类型

整数、小数、字符串、日期时间等核心类型怎么选。

Beginner
Key Points选对类型能省空间、提速度:定长用 CHAR、变长用 VARCHAR、金额用 DECIMAL。

数值类型

类型范围/说明用途
TINYINT-128~127 / 0~255布尔、小枚举
INT约 ±21 亿自增主键、计数
BIGINT约 ±9e18超大计数、雪花 ID
DECIMAL(10,2)精确小数金额(绝不用 FLOAT!)

字符串类型

类型特点用途
CHAR(n)定长,不足补空格手机号、MD5、状态码
VARCHAR(n)变长,按需存用户名、标题
TEXT长文本正文、备注

日期时间

SQL
DATE          -- 2026-01-15       仅日期
TIME          -- 14:30:00         仅时间
DATETIME      -- 2026-01-15 14:30:00  日期+时间
TIMESTAMP     -- 同 DATETIME,但受时区影响、范围更小
Always use DECIMAL for money, never FLOAT/DOUBLE — floating point is imprecise (0.1 + 0.2 <> 0.3). TIMESTAMP ends in 2038; use DATETIME for far-future dates.

Friends & Partners