学习MySQL系列:5. MySQL字符集

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 学习MySQL系列:5. MySQL字符集

今天是学习MySQL系列的第4天,今天要学习的是MySQL字符集以及字符序。



什么是字符集


我们问到这个问题的时候,你可能会说,哦,我知道呀,字符集就是类似于utf8GB2312等,那你知道其中是怎么样存储的么? 那让我们来看看吧。


众所周知,我们计算机只能存储二进制数据 01,那我我们如何表示字符呢,例如: juejin你好等,这个时候就会用到编码,它会将二进制和字符进行绑定,我们需要的时候再获取出来。


例如,我们的ascii编码,我们不妨打开Linux终端,输入

man ascii


我们来看看ascii编码

image.png


若我们想使用ascii编码存入hello juejin,我们仅需要存储104,101,108,108,111,32,106,117,101,106,105,110即可,我们看案例

image.png

执行结果如下

image.png

实际上,我们ascii编码,只有128位,只能存储0-9a-zA-Z以及一些特殊字符 和 键位,假如我们想存储你好 掘金应该怎么办呢? 使用ascii肯定不行的,那我们就可以使用GB2312UTF8等 字符编码来存储。


具体字符集存储逻辑就不多做展示了。


MySQL 字符集


字符集

我们来看看MySQL支持哪些编码呢,我们可以使用如下命令来查看。

show charset;


执行效果如下

image.png


其中,Charset是字符集名称,Description是对该字符集的简介,Maxlen是该字符集使用多少字节存储,Default collation是排序规则。



字符序


那什么是排序规则呢,其命名方式为 字符集名称_语言_后缀 ,例如: latin1_swedish_ci,其中后缀是大致区分为如下

名称 ci cs bin
含义 不区分大小写进行排序 区分大小写进行排序 以二进制进行排序


比如我们创建表t1,只有一个字段c1其类型为varchar(1),我们向其插入('a'),('A'),('e'),('B'),('c'),('d'),('E'),('f')数据,我们来验证其搜索结果。

image.png


我们已经创建了表并且插入了数据,默认情况下,latin7的字序为latin7_general_ci,我们查询下c1值为a的。

image.png


反之,我们将其修改为latin7_general_cs,查询则会区分大小写,例如:

image.png



总结


今天我们看了字符集,为什么要要有字符集呢,是因为计算机只能存储01类似于这类数据,想要让它识别更多,比如hello juejin你好,我们就需要一个字符和底层数组转换的表,这个表就是所谓的字符集,字符集从最开始的ascii到后面的utf8 ,等等,而MySQL中也有字符集以及字符序,其中,字符集和我们前面类似,字符序名称命名规则如下: 字符集名称_语言_后缀,我们也做了关于字符序的测试,嗯,块动手来试试吧。



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
关系型数据库 MySQL Shell
shell学习(十七) 【mysql脚本备份】
shell学习(十七) 【mysql脚本备份】
14 0
|
2月前
|
SQL 存储 关系型数据库
|
存储 关系型数据库 MySQL
|
1月前
|
SQL 存储 关系型数据库
6本值得推荐的MySQL学习书籍
本文是关于MySQL学习书籍的推荐,作者在DotNetGuide技术社区和微信公众号收到读者请求后,精选了6本值得阅读的MySQL书籍,包括《SQL学习指南(第3版)》、《MySQL是怎样使用的:快速入门MySQL》、《MySQL是怎样运行的:从根儿上理解MySQL》、《深入浅出MySQL:数据库开发、优化与管理维护(第3版)》以及《高性能MySQL(第4版)》和《MySQL技术内幕InnoDB存储引擎(第2版)》。此外,还有12本免费书籍的赠送活动,涵盖《SQL学习指南》、《MySQL是怎样使用的》等,赠书活动有效期至2024年4月9日。
|
1月前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
4天前
|
存储 关系型数据库 MySQL
学习MySQL(5.7)第二战:四大引擎、账号管理以及建库(干货满满)
学习MySQL(5.7)第二战:四大引擎、账号管理以及建库(干货满满)
|
13天前
|
SQL 监控 关系型数据库
【MySQL学习】MySQL的慢查询日志和错误日志
【MySQL学习】MySQL的慢查询日志和错误日志
|
13天前
|
存储 关系型数据库 MySQL
Mysql学习--深入探究索引和事务的重点要点与考点
Mysql学习--深入探究索引和事务的重点要点与考点
|
19天前
|
SQL 关系型数据库 MySQL
快速学习MySQL SQL语句
快速学习MySQL SQL语句
|
19天前
|
存储 SQL 关系型数据库
MySQL学习手册(第一部分)
mysql日常使用记录
82 0

推荐镜像

更多