首页 > 新闻中心 > 技术百科

mysql中char和varchar数据类型的区别是什么 返回列表

王林2020-06-24 00:00:00编辑发布,已经有个小可爱看过这篇文章啦
mysql中char和varchar数据类型的区别是:varchar类型用于存储可变长的字符串,char类型用于存储定长的字符串。varchar适用于字符串列的最大长度比平均长度大的情况,char适用于列的长度为定值的情况。

(推荐教程:mysql教程)

mysql中char和varchar数据类型的区别是:

varchar类型用于存储可变长的字符串,是比较常见常用的字符串数据类型。

在存储的字符串是变长时,varchar更加节约空间。由于varchar是变长的,在使用update的时候,可能使得行变得比原来更长,这就导致需要做额外的工作。

如果一个行占用的空间增加,并且在页内没有多余的空间可与存储,这是innoDB的存储引擎需要分裂页来使行可以放进页内。

char类型用于存储定长的字符串。

在存储数据时,MySQL会删除所有文末的空格,所以,即便你存储的是:'abc ',注意这个字符串末尾是有空格的,也会在存储时把这个空格删掉。

我们来看一下使用场景:

varchar适用的场景:

  • 字符串列的最大长度比平均长度要大很多;

  • 字符串列的更新很少时,因为没有或很少有内存碎片问题;

  • 使用了UTF-8这样复杂的字符集,每个字符都使用不同的字节数进行存储;

char适用的场景:

  • 列的长度为定值时适合适用,比如:MD5密文数据。

  • 的是
  • 这是
  • 会在
  • 适用于
  • mysql
  • 是有
  • 字符串
  • 数据类型
  • char
  • 定长

热门新闻

来电咨询