Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL 排序规则

MySQL 排序规则简介

作者:云满笔记

排序规则是指对指定字符集下不同字符的比较规则,有明显的体征体现,如两个不同的字符集不能有相同的排序规则两个字符集有一个默认的排序规则有一些常用的命名规则,接下来通过本文详细介绍MySQL 排序规则,需要的朋友可以参考下

1. MySQL 排序规则

1.1. 什么是排序规则

在新建 MySQL 数据库或表的时候经常会选择字符集和排序规则。数据库用的字符集大家都知道是怎么回事, 那排序规则是什么呢?

排序规则: 是指对指定字符集下不同字符的比较规则。其特征有以下几点:

两个不同的字符集不能有相同的排序规则两个字符集有一个默认的排序规则有一些常用的命名规则。如 _ci 结尾表示大小写不敏感 (caseinsensitive), _cs 表示大小写敏感 (case sensitive), _bin 表示二进制的比较 (binary).

utf-8 有默认的排序规则:

命令: SHOW CHARSET LIKE 'utf8%';

区别:

1.2. 对比

说明: ci 是 case insensitive, 即 “大小写不敏感”, a A 会在字符判断中会被当做一样的。 bin 是二进制, a A 会别区别对待。例如你运行: SELECT * FROM table WHERE txt = 'a' , 那么在 utf8_bin 中你就找不到 txt = 'A' 的那一行, 而 utf8_general_ci 则可以。 utf8_general_ci 是一个遗留的 校对规则, 不支持扩展, 它仅能够在字符之间进行逐个比较。这意味着 utf8_general_ci 校对规则进行的比较速度很快, 但是与使用 utf8_unicode_ci 的校对规则相比, 比较正确性较差。

1.3. 应用上的差别

1.4. 使用

utf8_unicode_ci 比较准确, utf8_general_ci 速度比较快。通常情况下, 新建数据库时一般选用 utf8_general_ci 就可以了。

到此这篇关于MySQL 排序规则的文章就介绍到这了,更多相关MySQL 排序规则内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文