标签:ci 字符集 升序 大小写 MySQL 校对 MySQL007
一,什么是字符集和校对集:
打开E:MySQL>data>xx>db.opt(我的位置)
可以看到
字符集是指一种从二进制编码到某类字符符号的映射,校对是指一组用于某个字符集的排序规则。并且每一类编码字符都有其对应的字符集合校对规则。
二,查询MySQL支持的字符集:
SHOW CHARACTER SET
可以看到MySQL所支持的这么多编码表。
MySQL 服务器可以支持多种字符集,在同一台服务器、同一个数据库、甚至同一个表的不同字段都可以指定使用不同的字符集,相比Oracle 等其他数据库管理系统,在同一个
数据库只能使用相同的字符集,MySQL 明显存在更大的灵活性。
校对规则命名约定:它们以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元,即比较是基于字符编码的值而与language
无关)结束
三,校对集
校对集:指字符集的排序规则。
根据是否区分大小写可以分两种,如下图:一种以ci结尾,不区分大小写,剩下的一种区分大小写。
查看所有校对集:
SHOW COLLATION;
A比如:现在用gbk_chinese_ci,查看它如何排序
CREATE TABLE f1(
a VARCHAR(20)
)COLLATE gbk_chinese_ci
先添加数据:
INSERT INTO f1 VALUES('a'),('C'),('b'),('d')
查询:后面的ASC可以不写,它代表升序,不写就默认升序
SELECT * FROM f1 ORDER BY a ASC
查看:
通过降序查看:
SELECT * FROM f1 ORDER BY a DESC
可以看到ci结尾的升序降序都不会区分大小写。
B现在用gbk_bin看它怎么排序
CREATE TABLE f2(
a VARCHAR(20)
)COLLATE gbk_bin
添加数据:
INSERT INTO f2 VALUES('a'),('C'),('b'),('d')
按照升序查找:
SELECT * FROM f2 ORDER BY a
可以看到它区分大小写了
按照降序查找:
SELECT * FROM f2 ORDER BY a DESC
结果:
标签:ci,字符集,升序,大小写,MySQL,校对,MySQL007 来源: https://blog.csdn.net/weixin_44699728/article/details/90270406
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。