字符串类型要点
- CHAR(n) 定长,不足补空格,适合固定长度如手机号、卡号
- VARCHAR(n) 变长,省空间,绝大多数文本字段的首选
- TEXT 存长文,不能设默认值,查询一般不进内存
- BLOB 存二进制,图片音频原始数据放这而不是 VARCHAR
- VARCHAR 上限约 65535 字节,超了要拆表或用 MEDIUMTEXT
- n 是字符数,utf8mb4 中文按 4 字节算,别按字节估容量
字符串类型示例
CREATE TABLE article (
title VARCHAR(120) NOT NULL,
phone CHAR(11) NOT NULL,
body LONGTEXT,
cover MEDIUMBLOB
);
字符串类型对照
| 类型 | 容量上限 | 特点 |
|---|---|---|
| CHAR | 255 字节 | 定长,空格补位 |
| VARCHAR | 65535 字节 | 变长,按需占用 |
| TEXT | 65535 字节 | 长文本 |
| MEDIUMTEXT | 16777215 字节 | 中等长文本 |
| LONGTEXT | 4294967295 字节 | 极大文本 |
| BLOB | 65535 字节 | 二进制数据 |
避坑提醒:VARCHAR 长度设太大没代价但太长会触发行溢出;真正要控的是别把 TEXT 当普通列频繁更新。