当前位置:首页 > 问答 > 正文

数据库|字段类型 mysql文本类型详解—mysql文本类型长度解析

MySQL文本类型分类

  1. CHAR:定长字符串,长度0-255字符,存储时固定占用指定长度空间。
  2. VARCHAR:变长字符串,长度0-65535字节(实际受行大小限制),按实际内容占用空间。
  3. TINYTEXT:最大长度255字符,占用空间为实际长度+1字节。
  4. TEXT:最大长度65535字符(约64KB),占用空间为实际长度+2字节。
  5. MEDIUMTEXT:最大长度16777215字符(约16MB),占用空间为实际长度+3字节。
  6. LONGTEXT:最大长度4294967295字符(约4GB),占用空间为实际长度+4字节。

长度解析要点

数据库|字段类型 mysql文本类型详解—mysql文本类型长度解析

  • 字符 vs 字节
    • 非二进制类型(如CHAR/VARCHAR)按字符计算,受字符集影响(如UTF8中1字符可能占3字节)。
    • 二进制类型(如BLOB)按字节计算。
  • 存储开销:VARCHAR/TEXT类型额外占用1-4字节记录实际长度。
  • 行大小限制:单行所有字段总长度需≤65535字节(含额外开销)。

选择建议

  • 短文本:优先用VARCHAR(变长节省空间)。
  • 超长文本:根据需求选择TEXT/MEDIUMTEXT/LONGTEXT。
  • 定长字段:用CHAR(如MD5固定32字符)。

注意事项

数据库|字段类型 mysql文本类型详解—mysql文本类型长度解析

  • TEXT类型不支持默认值(MySQL 5.7及以下)。
  • 排序/索引限制:TEXT类型若需索引需指定前缀长度。

(信息参考截至2025-08)

发表评论