美文网首页
MySQL中关于char和varchar类型的区别

MySQL中关于char和varchar类型的区别

作者: LeeBoot | 来源:发表于2017-06-07 12:27 被阅读0次
    类型 长度 范围(非空) 范围(可空) 用途
    char 固定 255【字节】 65533【字节】
    varchar 可变 254【字节】 65532【字节】

    以下是MySQL官方说明:

    CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

    CHAR列的长度固定为创建表时声明的长度。长度可以为从0到255的任何值。当保存CHAR值时,在它们的右边填充空格以达到指定的长度。当检索到CHAR值时,尾部的空格被删除掉。在存储或检索过程中不进行大小写转换。

    VARCHAR列中的值为可变长字符串。长度可以指定为0到65,535之间的值。(VARCHAR的最大有效长度由最大行大小和使用的字符集确定。整体最大长度是65,532字节)。

    同CHAR对比,VARCHAR值保存时只保存需要的字符数,另加一个字节来记录长度(如果列声明的长度超过255,则使用两个字节)

    以下是个人见解:

    • char 固定长度,所以在处理速度上要比varchar快速很多,但是对费存储空间,所以对存储不大,但在速度上有要求的可以使用char类型,反之可以用varchar类型来实例;

    • 举例说明所占存储字节长度:
      char(5) -->5个字节;varchar(5)-->6个字节

    • 长度小于4个字符的char数据列不会被转换为varchar类型

    希望对你有所帮助

    相关文章

      网友评论

          本文标题:MySQL中关于char和varchar类型的区别

          本文链接:https://www.haomeiwen.com/subject/sabofxtx.html