MySQL 字符集与校对规则

来源:互联网 发布:手机变脸软件 编辑:程序博客网 时间:2024/05/16 17:05
这节课有点不是很懂,需要知道 字符集 校对规则等概念


校对规则:
每一套编码字符集都有与之相关的校对规则。


什么是校对规则?
在当前编码下,字符之间的比较顺序。
字符之间的比较关系:
1,ci表示不区分大小写。
2,Cs表示区分大小写。


每个字符集都支持不定数量的校对规则,
可以通过如下指令:
Show collation;


可以看到:
字符集_地区名_比较规则(ci,cs,bin)不区分,区分,字节比较。
可以用 like。查看某种字符集。



show variables like 'character_set%';  //查看字符集的校对规则show databases;use php_one;show tables;create table tbl1(name varchar(5))character set gbk collate gbk_chinese_ci;create table tbl2(name varchar(5))character set gbk collate gbk_bin;  //表的选项,(属性)。insert into tbl1 values('a');insert into tbl1 values('B');insert into tbl1 values('c');insert into tbl2 values('a');insert into tbl2 values('B');insert into tbl2 values('c');select * from tbl1;select * from tbl2;              //此时并没有排序。select * from tbl1 order by name;select * from tbl2 order by name;   //已经排序//最后显示一下表的属性。show create table tbl1;   //默认了,没有显示。show create table tbl2;


Order by (字段),可以获得数据时,将数据按照某个字段进行排列搜索。
影响数据如何保存的是  字符集。
影响数据如何排序的是  校对规则。


例如:a B c 中
不区分: a<B<c;
区分:B<a<c;
bin:  B<a<c;


中文需要用gbk才能按照字母排序,而utf8则需要其他的规则来规定。

因而只进行中文编码:推荐使用bgk编码;(字节:2字节 utf8:3字节)



0 0
原创粉丝点击