MySQL(5.0版本以上) varchar和char能存储几个中文字符

char (n): 固定长度字符串,n 表示要存储的最大字符数(不是字节),范围( 0 ~ 255 )
varchar (n):可变长度字符串,长度可以指定为0到65535之间的值(实际上由于字符数大于255后保存字符长度需要2个字节,所以长度最大可为65533字节)。 VARCHAR的有效最大长度取决于最大行大小(65535字节,在所有列之间共享)和所使用的字符集。

一个汉字占多少长度与编码有关:

  1. UTF-8:一个汉字 = 3个字节,英文是一个字节
  2. GBK: 一个汉字 = 2个字节,英文是一个字节
  3. utf8mb4: 一个汉字 = 4个字节,英文是一个字节
    varchar(n) 表示n个字符,无论汉字和英文,MySql都能存入 n 个字符,仅实际字节长度有所区别。
    MySQL检查长度,可用 SQL 语句 SELECT LENGTH(fieldname) FROM tablename
    在 utf-8 字符集中,最多可以存储(65535 -2) / 3 = 21844 个汉字
    在 gbk 字符集中,最多可以存储(65535 - 2) / 2 = 32766 个汉字
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值