我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL数据库中的varchar限制规则是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL数据库中的varchar限制规则是什么

这篇文章主要介绍“MySQL数据库中的varchar限制规则是什么”,在日常操作中,相信很多人在MySQL数据库中的varchar限制规则是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL数据库中的varchar限制规则是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  1、限制规则

  字段的限制在字段定义的时候有以下规则:

  a)存储限制

  varchar字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。

  b)编码长度限制

  字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766;

  字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。

  若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。

  c)行长度限制

  导致实际应用中varchar长度限制的是一个行定义的长度。MySQL要求一个行的定义长度不能超过65535。若定义的表长度超过这个值,则提示ERROR1118(42000):Rowsizetoolarge.Themaximumrowsizefortheusedtabletype,notcountingBLOBs,is65535.YouhavetochangesomecolumnstoTEXTorBLOBs。

  MySQL数据库中varchar的限制规则是什么

  2、计算例子

  举两个例说明一下实际长度的计算。

  a)若一个表只有一个varchar类型,如定义为createtablet4(cvarchar(N))charset=gbk;则此处N的最大值为(65535-1-2)/2=32766。

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

  减2的原因是varchar头部的2个字节表示长度;

  除2的原因是字符编码是gbk。

  b)若一个表定义为createtablet4(cint,c2char(30),c3varchar(N))charset=utf8;则此处N的最大值为(65535-1-2-4-30*3)/3=21812。

  减1和减2的原因与上例相同;

  减4的原因是int类型的c占4个字节;

  减30*3的原因是char(30)占用90个字节,编码是utf8。

  如果varchar超过上述的b规则,被强制转成text类型,则每个字段占用定义长度为11字节,当然这已经不是“varchar”了。

到此,关于“MySQL数据库中的varchar限制规则是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL数据库中的varchar限制规则是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

sqlserver数据库排序规则是什么

SQL Server数据库中的排序规则是一种用于确定字符串排序顺序的规则集。排序规则定义了字符串在进行比较和排序时的顺序。SQL Server支持多种排序规则,如ASCII排序规则、拉丁排序规则、日语排序规则等。在SQL Server中,
sqlserver数据库排序规则是什么
2024-04-09

php数据库字段设置规则是什么

在PHP中设置数据库字段的规则可以根据具体需求而定,但一般遵循以下几个常见的规则:数据类型:选择适当的数据类型,如整数类型(int)、小数类型(float)、字符串类型(varchar)、日期时间类型(datetime)等,根据数据的特性选
2023-10-24

oracle数据库默认排序规则是什么

Oracle数据库默认排序规则是二进制排序规则(Binary Sorting Rule),也称为字典排序(Dictionary Sorting)或二进制排序(Binary Sorting)。二进制排序规则是根据字符的二进制编码进行排序,不考
2023-09-11

SAP Analytics Cloud导入数据的规模限制是什么

SAP Analytics Cloud导入数据的规模限制是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。SAP Analytics Cloud部署在SAP Cloud Pl
2023-06-03

MySQL数据库中varchar类型的数字比较大小的方法是什么

这篇文章主要介绍“MySQL数据库中varchar类型的数字比较大小的方法是什么”,在日常操作中,相信很多人在MySQL数据库中varchar类型的数字比较大小的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
2023-06-25

mysql中and与or的规则是什么

在MySQL中,AND和OR是用来连接多个条件的逻辑运算符。AND运算符:AND运算符用于连接多个条件,并且要求所有条件都必须为真,才会返回true。如果其中一个条件为假,整个表达式就会返回false。例如:SELECT * FROM t
mysql中and与or的规则是什么
2024-04-09

mysql中utf8mb4的排序规则是什么

在MySQL中,UTF8MB4排序规则是根据Unicode字符集定义的。Unicode定义了每个字符的排序顺序,根据字符的Unicode码点来确定其在排序中的位置。UTF8MB4字符集支持Unicode字符集中的所有字符,包括emoji表情
mysql中utf8mb4的排序规则是什么
2024-04-09

mysql复制数据库的方法是什么

MySQL复制数据库的方法有多种,以下是其中一种常用的方法:使用mysqldump命令备份源数据库:mysqldump -u username -p password source_database > dump.sql在目标服务器上创建
mysql复制数据库的方法是什么
2024-04-09

c语言数据转换的规则是什么

C语言中,数据转换的规则如下:1. 自动类型转换:当表达式中的操作数类型不同时,会发生自动类型转换。自动类型转换按照以下规则进行:- 如果两个操作数中有一个是`float`类型,则另一个操作数会被转换为`float`类型。- 如果两个操作数
2023-10-10

MySQL数据库中外键的定义和限制

标题:MySQL数据库中外键的定义和限制在MySQL数据库中,外键是一种用于建立表与表之间关系的约束。外键可以确保在一个表中的数据与另一个表中的数据具有一定的关联性。通过定义外键,我们可以实现数据之间的参照完整性,从而保证数据的一致性和可
MySQL数据库中外键的定义和限制
2024-03-15

编程热搜

目录