首页/ 学科题库/ mysql/ MySQL 字符串类型
mysql 实战教程

MySQL 字符串类型

2026-05-15 约 7 分钟 juanwangdev

MySQL 字符串类型

MySQL 字符串类型用于存储文本数据,不同类型有不同的存储方式和适用场景。

类型对照表

类型最大长度特点用途
CHAR255字符定长短固定长度
VARCHAR65535字节变长可变长度
TINYTEXT255字节变长短文本
TEXT65535字节变长普通文本
MEDIUMTEXT16MB变长中等文本
LONGTEXT4GB变长长文本

CHAR 与 VARCHAR

SQL
-- CHAR 定长,不足补空格
CREATE TABLE users (
    code CHAR(10),      -- 固定10字符
    name VARCHAR(50)    -- 最多50字符
);

INSERT INTO users VALUES ('001', '张三');
INSERT INTO users VALUES ('0010020030', '李四');

-- 查询时 CHAR 会去掉尾部空格
SELECT code, LENGTH(code) FROM users;

TEXT 系列

SQL
-- 大文本存储
CREATE TABLE articles (
    id INT PRIMARY KEY,
    title VARCHAR(200),
    content TEXT,
    detail MEDIUMTEXT
);

INSERT INTO articles VALUES (1, '标题', '正文内容...', '详细内容...');

VARCHAR 长度选择

SQL
-- VARCHAR(N) 中 N 是字符数,不是字节数
CREATE TABLE products (
    name VARCHAR(100),      -- 名称
    description VARCHAR(500) -- 描述
);

-- VARCHAR(255) 内部用1字节存长度
-- VARCHAR(65535) 内部用2字节存长度

VARCHAR 按实际长度存储,CHAR 按定义长度存储。短且长度固定用 CHAR,其他用 VARCHAR。

要点总结

  • CHAR 是定长,VARCHAR 是变长
  • VARCHAR(N) 的 N 是字符数,非字节数
  • 长文本用 TEXT 系列,短文本用 VARCHAR
  • 固定长度字符串(如手机号)可用 CHAR 效率更高
想在手机上练这篇的配套题目?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别下方二维码,即可解锁本讲对应真题与错题本。
了解产品 App
← 上一篇 MySQL 浮点数类型 下一篇 → MySQL 日期和时间类型