varchar mysql_MySQL之varchar

这篇博客详细探讨了MySQL中varchar类型的长度定义,分析了不同版本MySQL的处理方式,并解释了长度与字符数的关系,同时提到了UTF8字符集的编码原理。文章还讨论了InnoDB的存储结构和页读取机制,建议根据实际需求来定义varchar列的长度。
摘要由CSDN通过智能技术生成

MySQL之varchar

0.前言

探究关于MySQL中varchar长度的定义

1.研究MySQL的varchar列类型的背景

1.MySQL5.x

2.InnoDB

2.varchar

对于varchar的争论,目前总结来看,主要有三种看法:(注:以下讨论仅仅在非严格模式下的MySQL)

第一种:

error.gif(错误)

varchar(3)表示varchar能存储3个字节,存储如下表:

要插入的字符实际存入的字符占用长度

ab

ab

2字节

abc

abc

3字节

abcd

abc

3字节

第二种:

error.gif(4.x版本)

varchar(3)不能表示varchar能存储3个字节,因为按照MySQL官方文档的定义,会有一个字节用来存储长度,所以3个字节只能存两个字母字符。

要插入的字符实际存入的字符占用长度

ab

ab

3字节

abc

ab

3字节

abcd

ab

3字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值