zoukankan      html  css  js  c++  java
  • mysql数据类型char与varchar的区别

    mysql数据类型char与varchar的区别

    环境

    mysql 5.7

    区别与联系

    char(m), varchar(m)
    m都是指的字符数量, 而不是字节数

    char(m)是定长基于字符数量的限制, 不管字符集是utf8还是gbk还是其它, 最多只能存储255个字符m<255
    占用空间=m×一个字符占用空间大小(utf8三个字节, gbk两个字节)

    varchar(m)是不定长基于存储空间的限制, 其最大能存储65535字节的数据
    受存储空间限制, 当设置字符集为utf8时最多能存储21845个字符m<21845, 当设置字符集为gbk时最多能存储32767个字符m<32767
    占用空间=实际字符数×一个字符占用空间大小(utf8三个字节, gbk两个字节)


    图1 varchar设置字符集为utf8时的最大字符限制为21845

    图2 varchar设置字符集为gbk时的最大字符限制为32767

    总结

    char(m)和varchar(m)中的m都是指的字符数
    char是基于字符数量的概念, varchar是基于存储空间的概念

    char不管什么字符集最多能存储255个字符, 字符数量没用完在右边填充, 占用空间是固定大小
    varchar不管什么字符集最多能存储65536字节数据, 字符数量根据设置的字符集进行计算, 占用空间是实际使用的字符大小

  • 相关阅读:
    Vue之常用语法
    Django之crm
    Django项目之客户
    前端、数据库、Django简单的练习
    Django的认证系统
    Django之form表单
    OpneCV 二值图像区域处理
    OpenCV图像处理中常用函数汇总(1)
    OpenCV3编程入门笔记(6)自我验证各函数程序代码
    OpenCV_轮廓的查找、表达、绘制、特性及匹配
  • 原文地址:https://www.cnblogs.com/xfk1999/p/mysql-char-varchar-difference.html
Copyright © 2011-2022 走看看