微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql 编码和汉字存储占用字节问题的探索

<p style="color:rgb(51,51,51);font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;">
转自:<a href="http://www.cnblogs.com/piperck/p/5896318.html" rel="nofollow">http://www.cnblogs.com/piperck/p/5896318.html


<p style="color:rgb(51,sans-serif;font-size:14px;">

MysqL 5.0 以上的版本:

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

一个汉字 = 3个字节,英文是一个字节一个汉字 = 2个字节,英文是一个字节MysqL都能存入 n 个字符,仅实际字节长度有所区别。[注意]

MysqL检查长度,可用sql语言 SELECT LENGTH(fieldname) FROM tablename 这个命令可以看到各行使用的字节数。

MysqL版本5.6.32-78.0下面用实际例子来说明问题:

sql">create TEMPORARY table medivac(
    name VARCHAR(10)
); CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

 INSERT INTO medivac (name) VALUES ('a');
Query OK,1 row affected (0.00 sec)

MysqL> INSERT INTO medivac (name) VALUES ('哈');
Query OK,1 row affected (0.00 sec)

MysqL> INSERT INTO medivac (name) VALUES ('\U+1F604');
Query OK,1 row affected (0.00 sec)

MysqL> INSERT INTO medivac (name) VALUES ('哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈');
Query OK,1 row affected,1 warning (0.00 sec)


<span style="color:rgb(51,sans-serif;font-size:14px;">3.
查看表中数据:

sql">select * from medieval
sql">+--------------------------------+
| name                           |
+--------------------------------+
| a                              |
| 哈                             |
| 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐