前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL不同字符集所占用不同的字节大小

MySQL不同字符集所占用不同的字节大小

作者头像
收心
发布2023-08-24 13:53:20
2890
发布2023-08-24 13:53:20
举报
文章被收录于专栏:Java实战博客Java实战博客

不同字符集的数据库不代表其所有字段的字符集都是库所使用的字符集,每个字段可以拥有自己独立字符集!库的字符集是约束字段的字符集!

不同字符集的数据库不代表其所有字段的字符集都是库所使用的字符集,每个字段可以拥有自己独立字符集!库的字符集是约束字段的字符集!

不同字符集的数据库不代表其所有字段的字符集都是库所使用的字符集,每个字段可以拥有自己独立字符集!库的字符集是约束字段的字符集!

建表DDL语句 + Insert DML语句

代码语言:javascript
复制
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for testChatSet
-- ----------------------------
DROP TABLE IF EXISTS `testChatSet`;
CREATE TABLE `testChatSet` (
  `utf8mb4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
  `utf16` varchar(255) CHARACTER SET utf16 COLLATE utf16_general_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- ----------------------------
-- Records of testChatSet
-- ----------------------------
BEGIN;
INSERT INTO `testChatSet` (`utf8mb4`, `utf16`) VALUES ('abc', 'abc');
INSERT INTO `testChatSet` (`utf8mb4`, `utf16`) VALUES ('你好么', '你好么');
INSERT INTO `testChatSet` (`utf8mb4`, `utf16`) VALUES ('123', '123');
COMMIT;

SET FOREIGN_KEY_CHECKS = 1;

查询语句

代码语言:javascript
复制
SELECT
	utf8mb4 AS 'utf8',
	utf16 AS 'utf16',
	CHARACTER_LENGTH( utf8mb4 ) AS 'utf8字符长度',
	CHARACTER_LENGTH( utf16 ) AS 'utf16字符长度',
	CHARSET( utf8mb4 ) AS 'utf8字符集',
	CHARSET( utf16 ) AS 'utf16字符集',
	length( utf8mb4 ) AS 'utf8字节长度',
	length( utf16 ) AS 'utf16字节长度'
FROM
	testChatSet;

输出:

utf8字段

utf16字段

utf8字符长度

utf16字符长度

字符集类型

字符集类型

utf8字节长度

utf16字节长度

1

1

utf8mb4

utf16

3

2

a

a

1

1

utf8mb4

utf16

1

2

1

1

1

1

utf8mb4

utf16

1

2

👌🏻

👌🏻

2

2

utf8mb4

utf16

8

8

结论

MySQL在UTF8下1个中文字符占用3个字节。英文、阿拉伯数字占用1个字节

MySQL在UTF16下1个中文字符占用2个字节,英文、阿拉伯数字也是占用2个字节

特殊说明: 上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com 第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 建表DDL语句 + Insert DML语句
  • 查询语句
  • 结论
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档