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)

相关推荐

  • 用java技术实现网上聊天系统(java聊天室系统整体设计)

    技术基于Java怎么实现简易的局域网对话系统基于Java怎么实现简易的局域网对话系统,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。先说一下写的确实比较一般,

    攻略 2021年12月20日
  • Windows下怎么安装Frida环境

    技术Windows下怎么安装Frida环境今天就跟大家聊聊有关 Windows下怎么安装Frida环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 Window

    攻略 2021年10月23日
  • 一个龙一个天,赤须龙母是个怎么样的神仙

    技术一个龙一个天,赤须龙母是个怎么样的神仙传说一(白族)   相传,龙母原是一个砍柴姑娘,跟妈妈住在绿桃村耪田种庄稼。一年,腾越坎子凹的黑龙占据了洱海的出水口,把大理变成一片汪洋。老百姓无法安生,纷纷逃往外地。母女俩无人

    生活 2021年10月20日
  • impunity,犬儒主义到底是什么意思

    技术impunity,犬儒主义到底是什么意思犬儒主义者百科名片“犬儒主义”一般认为是苏格拉底的弟子安提斯泰尼创立的,另一人物第欧根尼则因为住在木桶里的怪异行为而成为更有名的犬儒主义者。当时奉行这一主义的哲学家或思想家,他

    生活 2021年10月30日
  • oracle temp表空间相关知识点有哪些

    技术oracle temp表空间相关知识点有哪些本篇内容主要讲解“oracle temp表空间相关知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle te

    攻略 2021年11月9日
  • Java锁的升级策略是什么

    技术Java锁的升级策略是什么本篇内容主要讲解“Java锁的升级策略是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java锁的升级策略是什么”吧!这三种锁是指锁的状态,

    攻略 2021年11月19日