首页  >  文章  >  数据库  >  mysql中char和varchar数据类型的区别是什么

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

王林
王林原创
2020-06-24 15:54:518587浏览

mysql中char和varchar数据类型的区别是:varchar类型用于存储可变长的字符串,char类型用于存储定长的字符串。varchar适用于字符串列的最大长度比平均长度大的情况,char适用于列的长度为定值的情况。

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

(推荐教程:mysql教程

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

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

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

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

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

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

我们来看一下使用场景:

varchar适用的场景:

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

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

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

char适用的场景:

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

以上是mysql中char和varchar数据类型的区别是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn