扫盲 2026.10.10 02:40 36 次浏览 0 条评论

字段text类型说明

MySQL 里的 TEXT 就是拿来存大段文字的,文章正文、用户留言、脚本日志都用它。它不像 VARCHAR 要写长度,写了也白写,直接被忽略。

按容量分四种:TINYTEXT 255 字节,TEXT 65535 字节约 64KB,MEDIUMTEXT 16MB,LONGTEXT 4GB。字节不等于字数,utf8mb4 一个汉字最多占 4 字节,所以 TEXT 实际只能放一万六千个汉字左右,别以为能塞六万多字。

几个坑记住:TEXT 不能设默认值;建普通索引必须带前缀长度,否则报错;表里有大字段时别用 SELECT *,取出来很吃内存。

-- 四种 text 的实际用法
CREATE TABLE article (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(100) NOT NULL,
  content TEXT,          -- 约 64KB,日常够用
  memo TINYTEXT,         -- 255 字节,短备注
  raw MEDIUMTEXT         -- 16MB,存采集的原始数据
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 给 text 建索引必须指定前缀长度
ALTER TABLE article ADD INDEX idx_content (content(50));

-- 只取需要的列,别 SELECT *
SELECT id, title FROM article WHERE id = 1;

标签:MySQL,TEXT类型,数据库字段

说点什么 0

行思随记

欢迎来到:行思随记