精华内容
下载资源
问答
  • 4.0 版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能33个(每个汉字3字节) 5.0 版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100...

    首先要确定mysql版本,一般一个汉字2个字节,50即可存25个汉字。

    4.0 版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)

    5.0 版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个。

    注:借阅文章地址:https://zhidao.baidu.com/usercenter?uid=a7e74069236f25705e79c662&role=pgc

    展开全文
  • 参考:https://www.cnblogs.com/zhuyeshen/p/11642211.html

    参考:https://www.cnblogs.com/zhuyeshen/p/11642211.html

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • Mysql 的varchar能存几个字符?

    千次阅读 2020-11-30 17:48:50
    utf8编码的varchar  Mysql记录行数据是有限的。... 第一,当编码方式为utf-8时,varchar存到21845就不下了.也就是最大长度是21844.根据上面信息可以推算出 ( 65535-2 )/3=21844余1  例子如下:  

    utf8编码的varchar

      Mysql记录行数据是有限的。大小为64k,即65535个字节,而varchar要用1-2字节来存储字段长度,小于255的1字节,大于255的2字节。
      Mysql 5.0后,英文字符固定都是一个字节,汉字字符根据编码方式占不同字节,Utf-8占3个字节,gbk占了2个字节。
      第一,当编码方式为utf-8时,varchar存到21845就存不下了.也就是最大长度是21844.根据上面信息可以推算出 ( 65535-2 )/3=21844余1
      例子如下:
      aaa

       aaa

    GBK编码的varchar

      当编码格式为GBK时,varchar能存多少字符呢?经过推理可知大约能存32766个字符,(65535-2)/2=32766余1。
      那么看看实验结果如下:
     aaa

       aaa

    为何提出这个问题?

      前段时间一个哥们提bug,要把备注等字段全部最大大小设置为1000,甚至更多,这个表的字段本身就已经很多了,而我们设计表时一般都默认使用utf8这个编码格式,那么一个汉字就占了3个字节,故一个行记录的长度就会短了些,数据占用存储资源也会多了些,然后修改的时候成功的报了row size too large的这个错误。这里提出来也是为了让大家注意下。

    总结

      设计表的时候不同的编码格式会导致varchar的最大值发生变化,varchar(数值),这个数值指的是字符数,也可以说是一个字,但是不是字节,当然存储的数据还是一个英文占一个字节,一个汉字根据编码格式占不同字节。varchar(255)需要一个自己记录字段的长度 ,256以上需要两个字节记录长度。

    VARCHAR的长度标识位

    长度标识位是相对比较复杂的,网上的介绍错的很多,也容易算错。

    其作用是记录数据的字节数

    存储开销是小于255只要1字节、大于255后使用两字节。是因为按照可能的数据大小,分为0 - 255(28)、256 - 65535(216),刚好对应1字节和2字节。

    但要注意,其计算根据的是字段声明的字符长度、计算可能的字节数,再决定长度标志的字节数。如VARCHAR(100),字符集为UTF8,可能的字节数为300,长度标识则为2字节。这是网上介绍错的最多的。

    另外长度标志位只是存储开销,不影响占用声明的字符长度。声明的字符长度的是数据的字符数,允许的最大字符数与字符集有关。

    VARCHAR(1)为例,可以存1个字符,MySQL会额外找一个字节存放长度标识

    https://learn.blog.csdn.net/article/details/103341778 

    展开全文
  • https://www.cnblogs.com/zhuyeshen/p/11642211.html

    https://www.cnblogs.com/zhuyeshen/p/11642211.html

    展开全文
  • {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户的数据库应用系统进行性能和风险评估,参与配合进行...
  • 1、varchar(100)和varchar(10)的区别在哪里? 一般初学会认为,二者占用的空间是一样的。比如说我存储5char,二者都是实际占用了5char了【不准确的想法:varchar在实际存储的时候会多一byte用来存放长度】。 ...
  • 标题:MYSQL字段的长度varchar类型能存多少个中文字符 MySQL | ver < 4.1: VARCHAR以字节为单位存储,所以假设全部为常用汉字(UTF-8 3字节编码长度),则VARCHAR(255)共可存放约85个汉字; MySQL | ver >= ...
  • Oracle 中 varchar2 到底能存多少 汉字: 原文链接:https://www.cnblogs.com/firstgreen/p/3586301.html 1. varchar2最大长度为4000字节。 2. varchar2的参数有两:byte(默认), char 其中varchar2(10 ...
  • 它对英文使用 8 位(即一字节) ,中文使用 24 位(三字节)来编码。 UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。 UTF-8编码的文字可以在各国支持 UTF8 字符集额的浏览器上显示。 如果是...
  • Mysql 5.0后,英文字符固定都是一字节,汉字字符根据编码方式占不同字节,Utf-8占3字节,gbk占了2字节。第一,当编码方式为utf-8时,varchar存到21845就不下了.也就是最大长度是21844....
  • mysql中varchar(20)最多能存多少个汉字

    千次阅读 2019-05-14 10:15:00
    4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个 ...
  • 2、varchar能存多少汉字、数字? 3、varchar的最大长度是多少呢? 4、字符、字节、位,之间的关系? 5、mysql字段类型存储需要多少字节? 接下来请仔细看,整理不易啊。 1、varchar(100)和varchar(10)的区别在...
  • MySQL中VARCHAR(n)最多能存多少个汉字

    千次阅读 2018-08-01 17:50:12
    如果存放的汉字为UTF8编码时(utf8编码每个汉字占3字节),则只能16个汉字。 (2)MySQL 5.0 版本以上,VARCHER(n)中的 n 指的是 n 个字符(英文字母、汉字、符号都是字符)。无论存放的是数字、字母还是UTF8汉字...
  • 首先要确定mysql版本 4.0版本以下,varchar(50),指的是50字节,如果存放UTF8汉字时,只能...其实最好的办法是在自己数据库中建个表试试可以放多少汉字,现在mysql都5.0已上了,varchar(50)是可以50个汉字的 ...
  • 指的是50字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放50个其实最好的办法是在自己数据库中建个表试试可以放多少汉字,现在mysql都5.0已上了,varchar(50)是可以50个汉字的 转载...
  • 在设计数据库的时候会考虑给字段设置什么类型,设置多少长度合适,之前一直认为varchar(2)可以存储一...4.0版本以下,比如 varchar(100),指的是100字节,如果存放UTF8汉字时,只能33个(每个汉字3字节) 5....
  • 它对英文使用 8 位(即一字节) ,中文使用 24 位(三字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持 UTF8 字符集额的浏览器上显示。如果是UTF8编码,...
  • select * from nls_database_parameters where parameter='NLS_CHARACTERSET';select length('中') from dual; 转载于:https://www.cnblogs.com/shenjun/p/3169835.html
  • Oracle中的Varchar2(4000)到底能存多少个汉字,数据库编码集,如果是GB2312,可以2000个汉字,如果数据库字符编码集是UTF-8,大概能存1300多一点。因为GB2312存放汉字时占两上字节,而utf-8则占用三个字节。 ...
  • MySQL 数据库 varchar 到底可以多少个汉字,多少个英文呢?我们来搞搞清楚 转载,原文地址:https://www.cnblogs.com/printN/p/7252490.html 一、关于UTF-8 UTF-8 Unicode Transformation Format-8bit。是用以...
  •  Mysql 5.0后,英文字符固定都是一字节,汉字字符根据编码方式占不同字节,Utf-8占3字节,gbk占了2字节。  第一,当编码方式为utf-8时,varchar存到21845就不下了.也就是最大长度是21844.根据上面信息可以....
  • 5.0版本以上,varchar(50),指的是50字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放50个
  • 它对英文使用8位(即一字节) ,中文使用24位(三字节)来编码。 UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。 UTF-8编码的文字可以在各国支持UTF8字符集额的浏览器上显示。 如果是...
  • 4.0版本以下:varchar(n),指的是n个字节,如果存放UTF8汉字时,只能n/3个(每个汉字3字节)。 5.0版本以上:varchar(n),指的是n个字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放n个。 ...
  • VarChar能存储多少

    2020-12-18 10:00:31
    参考链接:MySQL 数据库 varchar 到底可以多少个汉字,多少个英文 首先我们需要了解utf-8和GBK的区别,因为不同的编码格所占的字节数是不同的 中文 英文 utf-8 1~3个字节 1个字节 GBK 2个字节 1个字节 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 89,769
精华内容 35,907
关键字:

varchar10能存几个汉字