【MySQL】MySQL的varchar字段最大长度是65535?

在MySQL建表sql里,我们经常会有定义字符串类型的需求。

CREATE TABLE `user` (  `name` varchar(100) NOT NULL DEFAULT '' COMMENT '名字') ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ;

比方说user表里的名字,就是个字符串。MySQL里有两个类型比较适合这个场景。

char和varchar。

声明它们都需要在字段边上加个数组,比如char(100)和varchar(100),这个100是指当前字段能放的最大字符数

char和varchar的区别在于,varchar虽然声明了最大能放100个字符,但一开始不需要分配100个字符的空间,可以根据需要慢慢增加空间。而char一开始声明是多少,就固定预留多少空间。

所以,varchar比起char更省空间,一般没啥大事,大家都爱用varchar。

那问题来了,声明varchar字段时,它的最大长度是多少呢?

相信大家应该听说过varchar字段的最大长度是65535吧,没听过也没关系,你现在听到了。

但实际上是这样吗?我们来做个实验。

一、varchar最大值是多少

我们直接拿65535来试一下。

图片

长度为65535的varchar报错

很明显报错了。报错内容也说了, 由于列长度过大导致报错,最长是16383

把上面的65535改成 16383,确实是成功了。

哦?所以说varchar最大值是16383?

当然不是,这其实还有好几个因素影响这个最大值。

二、不同字符集的影响

varchar里放的是字符串,而字符串看起来可以是英文字母,也可以是数字或中文。但不管怎么样,都可以把这样的中英文数字转成二进制的01串。

按照一定规则把符号和二进制码对应起来,这就是编码。而把n多这种已经编码的字符聚在一起,就是我们常说的字符集

建表语句里有个CHARSET,这里填的是字符集

不同的字符集要求使用的字节个数也不同,我们可以通过 show charset; 看到mysql支持哪些字符集,以及这些字符集里存储一个字符所需的最大字节数(Maxlen)

图片

查看mysql支持哪些charset

我们尝试下把建表sql语句里的CHARSET改一改,比如改成utf8mb3。

我们再执

相关推荐

  1. mysqlvarchar长度到底能插多少字符

    2023-12-08 13:40:04       36 阅读
  2. 无重复字符长子

    2023-12-08 13:40:04       43 阅读
  3. 无重复字符长子

    2023-12-08 13:40:04       12 阅读
  4. mysql比较varchar值大小_Mysql varchar大小长度问题

    2023-12-08 13:40:04       41 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-08 13:40:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-08 13:40:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-08 13:40:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-08 13:40:04       18 阅读

热门阅读

  1. QT作业1

    QT作业1

    2023-12-08 13:40:04      39 阅读
  2. Spring Task

    2023-12-08 13:40:04       39 阅读
  3. Swagger PHP Thinkphp 接口文档

    2023-12-08 13:40:04       47 阅读
  4. 一、C#笔记

    2023-12-08 13:40:04       34 阅读
  5. QT学习随记 (二)—— QT基础

    2023-12-08 13:40:04       38 阅读
  6. 一起学习云计算

    2023-12-08 13:40:04       36 阅读
  7. 我的创作纪念日

    2023-12-08 13:40:04       51 阅读
  8. Ubuntu环境下使用nginx实现强制下载静态资源

    2023-12-08 13:40:04       37 阅读
  9. Ubuntu开机出现Welcome to emergency mode解决办法

    2023-12-08 13:40:04       58 阅读
  10. Appium:iOS部署

    2023-12-08 13:40:04       35 阅读