【问题标题】:what is collation? what is the need of it in database? in mysql [duplicate]什么是排序规则?它在数据库中的需求是什么?在 mysql [重复]
【发布时间】:2018-04-14 19:43:30
【问题描述】:

我正在浏览我在那里找到的 mysql(通过 xampp phpamin)数据库。我发现那里创建数据库和排序规则。什么是排序规则,为什么我们在创建新数据库时需要它。谁能解释一下

【问题讨论】:

  • 你读过mysql文档吗?
  • 我读到了,我对数据排序有所了解

标签: mysql database phpmyadmin


【解决方案1】:

发件人:https://dev.mysql.com/doc/refman/5.7/en/charset-general.html

字符集是一组符号和编码。排序规则是 用于比较字符集中字符的一组规则。让我们做 通过一个虚构的字符集示例可以清楚地区分。

假设我们有一个包含四个字母的字母表:A、B、a、b。我们 给每个字母一个数字:A = 0,B = 1,a = 2,b = 3。字母 A 是 一个符号,数字 0 是 A 的编码,以及 所有四个字母及其编码都是一个字符集。

假设我们要比较两个字符串值,A 和 B。 最简单的方法是查看编码:0 代表 A,1 代表 B. 因为 0 小于 1,所以我们说 A 小于 B。我们刚刚 完成的是对我们的字符集应用排序规则。排序规则是一个集合 规则(在这种情况下只有一个规则):“比较编码。”我们 将所有可能的排序规则中最简单的称为二进制排序规则。

但是如果我们想说小写和大写字母 是等价的吗?那么我们至少有两条规则:(1)对待 小写字母 a 和 b 等同于 A 和 B; (2) 然后比较 编码。我们称之为不区分大小写的排序规则。它是一个 比二进制排序规则复杂一点。

在现实生活中,大多数字符集都有很多字符:不仅仅是 A 和 B 但整个字母表,有时是多个字母表或东方文字 具有数千个字符以及许多特殊符号的系统 和标点符号。同样在现实生活中,大多数排序规则都有很多 规则,不只是是否区分字母大小写,还有 是否区分重音(“重音”是附加到 德语 Ö 中的字符,以及多字符映射(例如 作为规则,在两个德语排序规则之一中 Ö = OE)。

MySQL 可以为您做这些事情:

  • 使用各种字符集存储字符串。

  • 使用各种排序规则比较字符串。

  • 在同一服务器、同一数据库甚至同一表中混合具有不同字符集或排序规则的字符串。

  • 在任何级别启用字符集和排序规则规范。

要有效地使用这些功能,您必须知道哪些字符集 和排序规则可用,如何更改默认值,以及它们如何 影响字符串运算符和函数的行为。

【讨论】:

  • 我很困惑,因为整理中有很多功能。我们应该使用什么
猜你喜欢
  • 1970-01-01
  • 2010-12-28
  • 2011-07-28
  • 2011-10-09
  • 2021-01-16
  • 2021-10-04
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多