栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我不了解整理?(MySQL,RDBMS,字符集)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我不了解整理?(MySQL,RDBMS,字符集)

数据库整理的重点是确定如何排序和比较数据。

字符串比较区分大小写

SELECt "New York" = "NEW YORK";`

对于不区分大小写的排序规则,将返回true;对于区分大小写的人为假。

排序规则名称中的

_ci
_cs
后缀可以指示哪个排序规则。
_bin
归类进行二进制比较(字符串必须100%相同)。

变音/重音符号的比较

排序规则还确定在字符串比较中是否将重音字符视为其拉丁文基本对等物。

SELECT "Düsseldorf" =  "Dusseldorf";SELECT "Èclair" =      "Eclair";

在前一种情况下将返回true;在后者中是错误的。您将需要阅读每个排序规则的描述以找出哪个是哪个。

字符串排序

排序规则会影响字符串的排序方式。

例如,

  • 芬兰语

    Ä Ö Ü
    /瑞典语字母中的字母结尾
    latin1_swedish_ci

  • 它们按照

    A O U
    德国DIN-1分类(
    latin_german1_ci
    )处理

  • 并按照

    AE OE UE
    德国DIN-2分类(
    latin_german2_ci
    )。(“电话簿”排序)

  • 在中

    latin1_spanish_ci
    ,“ñ”(n-波浪号)是“ n”和“ o”之间的单独字母。

当使用非拉丁字符时,这些规则将导致不同的排序顺序。

在运行时使用归类

您必须为表和列选择排序规则,但是如果您不介意性能下降,则可以在运行时使用

COLLATE
关键字将数据库操作强制为某种排序规则。

这将使用德国DIN-2排序规则

table
name
列进行排序:

SELECT nameFROM tableORDER BY name COLLATE latin1_german2_ci;

COLLATE
在运行时使用会影响性能,因为在查询过程中必须转换每一列。因此,在应用大型数据集之前,请三思而后行。

MySQL参考:

  • MySQL支持的字符集和排序规则
  • 整理效果的示例
  • 整理问题


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/416766.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号