一:

1个汉字 = 1个字 = 1个字符

二:

1个字符 = 1个字节 = 8bit(ACSII码下)

三:

1个字符 = 2个字节 = 16bit(Unicode码下)

以前一直使用oracle11g,一个汉字占3个字节,所以在操作MySQL时也一直这样分配长度。

今天测试了下mysql发现不对了

可以看到第一个的长度确实是15,但是第二个为什么是5?

在网上找到资料:char_length计算的是字符长度,而length计算的是字节长度,刚好我使用的是utf8,一个汉字占3个字节,占一个字符。

那好了,应该是对的上了,可是好奇心我就试了下

为什么这是相同的?因为这不是汉字,一个字母一个字符一个字节。

好了,现在知道原来mysql和Oracle一样的,但是又看到一篇说mysql的varchar与oracle的varchar2是不一样的,前者是用字符做单位的,后者是用字节做单位的。对于oracle11g的varchar2是用字节做单位的在以前玩oracle时测试过,但是mysql就没有测试过,好吧现在测试下。我先将字段长度改小看下能不能给容下,测试结果确实是可以的,证明mysql的varchar是用字符做单位的,这里就不贴图了,大家可以自己验证下。

总结:oracle 中varchar2(10)  既10个字节3个汉字

mysql  中varchar(10) 既10个字符10个汉字

所以现在可以将mysql的varchar字段减小1/3了,性能也能提高哦。

问题1:一个中文字符用utf-8编码占用几个字节,gbk,gb2312,还有iso8859-1呢?

答案1:常用中文字符用utf-8编码占用3个字节(大约2万多字),

但超大字符集中的更大多数汉字要占4个字节(在unicode编码体系中,U+20000开始有5万多汉字)。

GBK、GB2312收编的汉字占2个字节,严格地用iso8859-1无法表示汉字,只能转为问号。

汉字一个字占两个字节。英文字母一个字母占一个字节

mysql中一个字符等于几个字节_细说一个汉字等于几个字符,以及汉字,字符,字节,位之间的关系...相关推荐

  1. 细说一个汉字等于几个字符,以及汉字,字符,字节,位之间的关系

    细说一个汉字等于几个字符,以及汉字,字符,字节,位之间的关系  全文主旨总结: 一:         1个汉字 = 1个字 = 1个字符 二:         1个字符 = 1个字节 = 8bit(A ...

  2. mysql中groupby会用到索引吗_开发人员不得不知的MySQL索引和查询优化

    本文主要总结了工作中一些常用的操作及不合理的操作,在对慢查询进行优化时收集的一些有用的资料和信息,本文适合有 MySQL 基础的开发人员. 索引相关 索引基数 基数是数据列所包含的不同值的数量,例如, ...

  3. 在mysql中什么情况下不能指定字符集_如何为Mysql选择合适的字符集?

    MySQL服务器可以支持多种字符集,在同一台服务器,同一个数据库,甚至同一个表的不同字段都可以指定使用不同的字符集,相比Oracle等其他数据库管理系统,在同一个数据库只能使用相同的字符集,MySQL ...

  4. mysql中datetime如何用实体类封装_死磕了关于MyBatis10种超好用的写法

    用来循环容器的标签forEach,查看例子 foreach元素的属性主要有item,index,collection,open,separator,close. item:集合中元素迭代时的别名 in ...

  5. 在mysql中更新数据sql语句怎么写_在MySQL中,更新数据库表记录的SQL语句,包括______语句...

    在MySQL中,更新数据库表记录的SQL语句,包括______语句 答:insert replace update delete 在域F中,设其特征为2,对于任意a,b∈F,则(a+b)2 等于多少 ...

  6. mysql重命名数据表称方式_在MySQL中,使用()重命名数据表。_学小易找答案

    [单选题]( )的上海文坛被称为"张爱玲年". [多选题]下列哪些是属于共集放大电路的特点?() [阅读理解]Passage Two Thailand is to ban smok ...

  7. Java char所占用的字节_关于unicode:为什么Java char原语占用2个字节的内存?

    有什么理由为什么Java char原始数据类型为2个字节而不像C为1个字节? 谢谢 简短的答案是因为它们无聊:他们应该使用32位字符. 不,他们不应该使用32位宽的字符. 这将使开销更大! @ vy3 ...

  8. 字、字节和位之间的关系

    1.位(bit) 来自英文bit,音译为"比特",表示二进制位.位是计算机内部数据储存的最小单位,11010100 是一个8位二进制数.一个二进制位只可以表示0和1两种状态(21) ...

  9. mysql中如何求字段的个数字_求高手帮小弟解决一下!关于mysql字段中数字提取求和的问题?...

    例如表1中的No字段是字符串类型,no字段中包含数字及符号,如20+1.5,8+5+4等 那么有办帮法提取出20,1.5,8,5,4这些数字来进行求和等于38.5吗?语句怎么样写? 解决方案 30 提 ...

  10. 在mysql中删除表正确的是什么_在MySQL中删除表的操作教程

    丢弃现有MySQL的表是很容易的.但是需要非常小心,删除任何现有的一个表后将无法恢复,因为数据丢失. 语法: 下面是通用的SQL语法丢弃(删除)MySQL表: DROP TABLE table_nam ...

最新文章

  1. Visual Studio 15.8 Preview 3支持多点编辑功能
  2. DVWA通关教程(中)
  3. 厦门大学c语言模拟考试题,厦门大学《C语言》模拟试卷(10级).doc
  4. 采用开源技术的好处_采用开源的6个技巧
  5. aspnetpager分页UI调用存储过程函数
  6. python线性回归实例_线性回归的几个例子
  7. python中类的定义和使用_Python中类的定义与使用
  8. 【EMV L2】CDA复合动态数据认证/应用密文生成
  9. Objective-C 继承新的认识以及作用
  10. 看得上瘾的斗鱼,首次开源了自家项目 Jupiter !
  11. appium安装教程
  12. 数组转为集合的方法解析
  13. 【网站源码】3D元素周期表源码
  14. linux 安装oracle18c,CentOS75 安装Oracle18c
  15. 推荐一个可以在电脑上玩所有下载渠道手游的安卓模拟器
  16. 最全zabbix安装部署
  17. 计算机乘法算法流程,布斯乘法算法
  18. 小米 admob广告 ID_定了!小米5G新品发布会定在9月24日,4大新品值得期待
  19. 2022.5.28-YMO青少年奥林匹克数学竞赛复赛(一等奖)
  20. 从浅到深,数据分析人的学习书籍!

热门文章

  1. numpy.dot()和x.dot(y)函数介绍和示例
  2. 【汇编】从键盘输入16位有符号数x,y,z,w,编写程序实现:w=x+ y+24 - z,结果存放在w中, 并显示结果。
  3. 努比亚 Z17 mini s (Nubia NX589J) 解锁BootLoader 并刷入recovery ROOT
  4. 墨菲定律([美]阿瑟·布洛芬:山西人民出版社 2012)pdf格式下载
  5. [Python]更改图片底色
  6. linux qt 屏幕亮度,调整14.04.1 屏幕亮度
  7. 上传叶绿体基因组序列至NCBI
  8. 幼儿python编程书籍_少儿Python编程入门书籍分享
  9. 京东联盟api集成的坑
  10. 电脑驱动器中出现Winretools和ESP问题