执行下面的命令:

mysql> set names charset_name;

相当于执行了下面三条命令语句:

mysql> SET character_set_client = charset_name;
mysql> SET character_set_results = charset_name;
mysql> SET character_set_connection = charset_name;

所以 set names 是设置上面三个内置系统变量的快捷键命令。

官方文档的解释:

1.character_set_client 是指客户端发送过来的语句的编码;
2.character_set_connection 是指 mysqld 收到客户端的语句后,要转换到的编码;
3.character_set_results 是指 server 执行语句后,返回给客户端的数据的编码。

对人来说,能够理解的是各种各样的符号,而对计算机来说,只能理解二进制,二进制和符号之间的对应关系就是编码。不同地域国家都有自己的一套符号集合,每套符号集合都各自用一组二进制数字表示,从而形成了不同的编码方案,字符集其实就是二进制编码和符号的对应关系集合。

同一个二进制数在不同的字符集下可能对应不一样的字符,如在 GBK 字符集中,0xC4E3 对应的是“你”,而在 big5 字符集中对应的是“斕”,而“你”在 unicode 中的编码是 0x4F60,在 Collation-Charts 这个网站有字符集和编码对应关系图,可以非常直观地看到不同编码下二进制数和符号的对应关系。

set names 设置的三个系统变量就是设置 mysqld 和客户端通信时,mysqld 应该如何解码 client 发来的字符,以及如何编码返回给客户端的结果。

字符在 MySQL 中的编码转换流程如下:

MySQL的set names命令详解相关推荐

  1. MySQL中 show processlist命令详解

    文章目录 1.show processlist是什么? 2.show processlist怎么用? 3.show processlist参数? 4.命令: show status; 1.show p ...

  2. MySQL查看数据库状态命令详解

    数据查询语言(DQL: Data Query Language):其语句,也称为"数据检索语句",用以从表中获得数据,确定数据怎样在应用程序给出.保留字SELECT是DQL(也是所 ...

  3. MySQL添加数据 insert 命令详解

    文章目录 1. insert 语法格式 2. 使用示例 3. MySQL 添加数据总结(常见用法) 1. insert 语法格式 完整格式 insert [into] 表名[字段名1[, 字段名2]] ...

  4. [转]mysql优化——show processlist命令详解

    本文转自:https://blog.csdn.net/sunqingzhong44/article/details/70570728 版权声明:本文为博主原创文章,未经博主允许不得转载. https: ...

  5. Mysql load data local命令详解

    1.load data local命令使用方法 不指定字段名 此写法数据文件内字段数必须跟数据库表一致 load data local infile "C:\\test.txt" ...

  6. mysql命令行查看表的触发器_Mysql事项,视图,函数,触发器命令(详解)

    事项开启和使用 //修改表的引擎 alter table a engine=myisam; //开启事务 begin; //关闭自动提交 set autocommit=0; //扣100 update ...

  7. MySQL 数据库 source 命令详解及实例

    MySQL 数据库 source 命令详解及实例 MySQL 数据库 source 命令,该命令是数据库导入命令.source 命令的用法非常简单,首先你需要进入 MySQL 数据库的命令行管理界面, ...

  8. MySQL操作mysqldump命令详解

    MySQL操作mysqldump命令详解 基本命令: # 数据库备份-->mysqldump命令默认做锁表操作 mysqldump -uroot -ppassword --all-databas ...

  9. mysql source 数据库_MySQL 数据库 source 命令详解及实例

    MySQL 数据库 source 命令详解及实例 MySQL 数据库 source 命令,该命令是数据库导入命令.source 命令的用法非常简单,首先你需要进入 MySQL 数据库的命令行管理界面, ...

最新文章

  1. 牛妹吃豆子(二维前缀和模板,修改+求和)
  2. PDF文档怎么提取其中一页
  3. 确认过眼神,这就是你要的路由库
  4. python异步io多文件_Python 异步 IO 性能又上一层楼
  5. 镜像电流源特点_9000大型地网变频大电流接地特性测量系统介绍
  6. 支付验证签名失败_验证码收不到,或许是验证码平台出了问题!
  7. sqlalchemy Column Elements
  8. 32位jdk_详解在Linux系统中安装JDK
  9. 关于类类型的隐式类型转换
  10. 杰奇python采集器_linux下能完美运行的杰奇采集器ckp
  11. 材料模拟python_关于材料计算,模拟,仿真什么区别?
  12. 致诸弟·明师益友虚心请教
  13. 【camera】手机相机系统
  14. 论文阅读:Retrieval-augmented Generation across Heterogeneous Knowledge
  15. python2.7的字符串拼接
  16. 猿创征文|【C++游戏引擎Easy2D】炫酷动画来这学,位移动画构造函数让节点执行动画
  17. 读Mybatis源码
  18. 你有“隐私泄露担忧”吗?适合普通用户的6个方法来了
  19. DBCA静默安装Oracle数据库
  20. 语义分割yolov5 v4.0 baseline快速复现 快速跑通 图像分割 图像分类 重新训练,训练结果,测试结果,实验图片-20210227

热门文章

  1. spock 集成测试_Spock 1.2 –轻松进行集成测试中的Spring Bean模拟
  2. java面试spring_针对Java程序员的二十大Spring REST面试问题答案
  3. java登录界面命令_Java命令行界面(第29部分):自己动手
  4. cuba 平台_CUBA平台的理念
  5. jvm 错误_JVM因“ OutOfMemory”错误而关闭-我该怎么办?
  6. java请求接口示例_Java 8:功能接口示例
  7. java8 linq4j_Java 8仍然需要LINQ吗? 还是比LINQ更好?
  8. jclouds_jclouds的命令行界面
  9. JSON合并补丁:JSON-P 1.1概述系列
  10. Amazon Glacier的Scala客户端