MySQL varchar类型最大值是多少

技术MySQL varchar类型最大值是多少本篇内容介绍了“MySQL varchar类型最大值是多少”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希

本文介绍了“MySQL varchar类型的最大值是多少”的知识。很多人在实际案例操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

问题:MySQL 数据库的varchar字段类型最大存储长度到底是多少?

问题分析

以所有官方文件为准,官方描述如下:

在MySQL 4.1中,长度总是1字节。在MySQL 5.0中,长度可以是1字节(最多255个)或2字节(256到65535个)。

它可能意味着:

在MySQL 4.1之前,长度总是1字节(varchar(20),这意味着20字节)

在MySQL 5.0之后,长度可以是1字节(最多255字节)或2字节(256到65535)

根据官网显示,最大值为65535字节。在utf8mb4编码下,每个字符占用4个字节,最大值应为16,383.75。

6535/4=16383.75

实践验证

似乎在这里得出了一个结论,但事实真的是这样吗?

让我们做个实验,好吗?

Mysql版本:select version();//5.7

1、若一个表只有一个varchar类型

定义如下:

createtable ` t1 `(` c ` varchar(N)DEFAULTNULL)ENgine=innoddefaultcharset=utf8 MB 4;表t1中“c”字段的最大长度n是多少?

(6553512)/4=16383备注:

减去1的原因是实际行存储从第二个字节开始;

减去2的原因是varchar头的2个字节代表长度;

除以4的原因是字符编码是utf8mb4。

00-1010定义如下:

create table ` T2 `(` C1 ` int(10)DEFAULT NULL,` c2`char(32)DEFAULTNULL,` C3 ` varchar(N)DEFAULT NULL)ENGINE=innodDEFAULT charset=utf8 MB 4;表t2中“c”字段的最大长度n是多少?

(6553512432 * 4)/4=16350备注:

减去1和2的原因同上;

减去4的原因是int类型占用了4个字节;

减去32*4的原因是utf8mb4编码的字符类型占用4个字节(长度32)

我们来验证一下是否如上面推理计算中所说:

00-1010 alter table`t2 `修改列` c3` varchar (16350)已成功执行。

2)将t2表中c3字段的长度修改为16351

alter table ` T2 ` modify column ` C3 ` varchar(16351);执行失败,出现以下错误消息:

行太大。不计算BLOBs,所用表类型的最大行大小为65535。这包括存储开销,请查看手册。您必须将一些列更改为文本或博客。

“MySQL varchar类型的最大值是多少”到此结束。感谢阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/133546.html

(0)

相关推荐

  • 怎样用Mysql show processlist 排查问题

    技术怎样用Mysql show processlist 排查问题怎样用Mysql show processlist 排查问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可

    攻略 2021年10月25日
  • javascript中prototype方法有什么用

    技术javascript中prototype方法有什么用这篇文章主要为大家展示了“javascript中prototype方法有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习

    攻略 2021年11月15日
  • vue中如何实现后台进程定时爬取头条文章

    技术vue中如何实现后台进程定时爬取头条文章这篇文章将为大家详细讲解有关vue中如何实现后台进程定时爬取头条文章,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

    攻略 2021年11月24日
  • JS如何实现圆形进度条拖拽滑动

    技术JS如何实现圆形进度条拖拽滑动JS如何实现圆形进度条拖拽滑动,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。效果展示半圆进度条效果圆形进度

    2021年10月20日
  • nagiosQL怎么安装

    技术nagiosQL怎么安装这篇文章主要介绍了nagiosQL怎么安装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。安装nagiosql1.yum -y

    攻略 2021年10月21日
  • 数学什么叫因数,小学数学什么是倍数,什么是因数

    技术数学什么叫因数,小学数学什么是倍数,什么是因数①一个整数能够被另一整数整除数学什么叫因数,这个整数就是另一整数的倍数。如15能够被3或5整除,因此15是3的倍数,也是5的倍数。②一个数除以另一数所得的商。如a÷b=c

    生活 2021年10月23日