mysql 查看 collate_MySQL的字符集(Character Set)和校对集(Collate)

遇到一个创建数据库的SQL语句CREATE DATABASE testdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

注意:这里指定字符集是用utf8,而不是utf-8。

对上面的SQL语句中的CHARACTER SET 和 COLLATE产生了兴趣。

简单来说,CHARACTER SET是指字符集,而COLLATE是指校对集(可以理解为排序规则)。

1、Character Set

1.1、字符集的4个层次

mysql4.1及其之后的版本,对字符集的支持分为四个层次:

服务器(server),数据库(database),数据表(table)和连接(connection):character_set_server:这是设置服务器使用的字符集

character_set_client :这是设置客户端发送查询使用的字符集

character_set_connection :这是设置服务器需要将收到的查询串转换成的字符集

character_set_results :这是设置服务器要将结果数据转换到的字符集,转换后才发送给客户端

可以通过下面的SQL语句来查看这4个值SHOW VARIABLES LIKE '%character_set%';

c672b45f05d56d0393eff4777466639e.png

1.2、字符集的整个过程- client发送一个查询;

- 服务器收到查询,将查询串从character_set_client 转换到character_set_connection,然后执行转换后的查询;

- 服务器将结果数据转换到character_set_results字符集后发送回客户端。

1.3、设置字符集

1、告诉服务器发送的数据是什么类型的 character_set_client

2、告诉转换器,转换什么编码 character_set_connection

3、查询结果用什么编码 character_set_results

如果以上三者都为字符集N,可简写为set names N;

例如,执行这三条命令:set character_set_client=gbk;

set character_set_connection=gbk;

set_character_set_results=gbk;

这三句可以简写为set names gbk;

1.4、查看所有字符集SHOW CHARACTER SET;

fbdc4201d750b8a07d2cb87a3a313cfb.png

2、Collate

Collate 可以理解为,排序规则等。一个字符集可能有多种校对集合;

查看所有的CollationSHOW COLLATION;

d20c3ce7afaf391a60218524fdc8a2e3.png

参考地址:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值