MySQL数据库总结(8)字符集与校对集

来源:互联网 发布:王师傅知乎 编辑:程序博客网 时间:2024/05/18 02:47

    • 字符集与校对集
      • 字符集
      • 校对集指字符集的排序规则

字符集与校对集

Create table 表名(
列声明
)charset utf8;

字符集:

Mysql的字符集设置非常灵活
可以设置服务器默认字符集
数据库默认字符集
表默认字符集
列字符集
如果某一个级别没有指定字符集,则继承上一级.

以表声明utf8为例
存储的数据在表中,最终是utf8;

这里写图片描述

1:告诉服务器,我给你发送的数据是什么编码的?
set character_set_client=gbk/utf8

2:告诉转换器,转换成什么编码?set character_set_connection=gbk/utf8

3:查询的结果用什么编码? set character_set_results=gbk/utf8

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

  • 推论:什么时将会乱码?
    1:client声明与事实不符
    2:results与客户端页面不符的时候

  • 什么时间将丢失数据?
    Connetion和服务器的字符集比client小时

这里写图片描述

校对集:指字符集的排序规则

一种字符集可以有一个或多个排序规则

以utf8为例.我们默认使用的utf8_general_ci规则.也可以按二进制来排.utf8_bin

怎样声明校对集?
Create table()……charset utf8 collate utf8_general_ci;

注意:声明校对集必须是字符集合法的校对集

查看校对集
Show collation;

查看字符集
Show character set;

查看utf8有哪些校对集
Show collation like ’utf8%’;

0 0
原创粉丝点击