Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
[MySQL]:什么是排序方法?_Mysql - Fatal编程技术网

[MySQL]:什么是排序方法?

[MySQL]:什么是排序方法?,mysql,Mysql,当我使用phpMyAdmin查看在线表格时,它使用排序方法“latin_swedish_ce”。为什么?默认值是什么?那么,使用什么样的排序方法呢?你的意思是latin1\u swedish\u ci?这是mySql的默认排序规则 它在执行排序/比较时使用 要更改它,请参考以下内容: 字符集是一组符号 和编码。排序规则是一组 用于比较文本中字符的规则 字符集 您可以在中找到更多信息。在比较字符串时使用排序规则,例如对字符串进行排序。例如,在瑞典语中,字母“Ä”在“Z”之后,但在德语中,它被视为

当我使用phpMyAdmin查看在线表格时,它使用排序方法“latin_swedish_ce”。为什么?默认值是什么?那么,使用什么样的排序方法呢?

你的意思是
latin1\u swedish\u ci
?这是mySql的默认排序规则

它在执行排序/比较时使用

要更改它,请参考以下内容:

字符集是一组符号 和编码。排序规则是一组 用于比较文本中字符的规则 字符集


您可以在中找到更多信息。

在比较字符串时使用排序规则,例如对字符串进行排序。例如,在瑞典语中,字母“Ä”在“Z”之后,但在德语中,它被视为“AE”。因此,根据排序规则,字符串的排序方式不同

由于MySQL来自瑞典,所以默认为瑞典语。

MySQL中的字符串具有。Utf8是一个字符集,Utf8_bin是它的排序规则之一。排序规则决定MySQL如何比较字符串

例如,这里有两种比较UTF8字符串的方法:

select case when 'test' = 'TEST' collate utf8_bin 
       then 'true' else 'false' end,
       case when 'test' = 'TEST' collate utf8_roman_ci 
       then 'true' else 'false' end
第一个使用utf8_bin排序规则,它区分大小写。第二个使用utf8_roman_ci,它不区分大小写

所有字符集和排序规则的列表可以通过以下内容找到:

show character set
show collation
latin1\u swedish\u ci
是默认的排序规则(MySQL最初是在瑞典开发的),MariaDB也是如此

为什么??默认值是什么

latin1_swedish_ci
是默认值,因为MySQL AB公司来自瑞典

通常,对于使用ISO-8859-1(西欧)字符集的任何不太复杂的应用程序,此排序规则被认为是合理的默认设置。在比较中,它使大多数变调变得无关紧要:

'A'='Ã'   -- 1
尽管如此,它确实有一些瑞典特有的怪癖:
ö
ø
å
æ
被认为是单独的字母(而
ä
被认为与
æ
相同)
y
被视为与
u
相同的字母。它还有一些与其说是瑞典语,不如说是错误的功能:

'['='å'   -- 1, huh?
'd'='ð'   -- 1, tsk. eth is nothing to do with d
有关更多信息,请参阅

如果您希望字母匹配,而不考虑变音符号,
latin1\u german\u ci
是一种更好的排序方法<代码>拉丁1\u通用\u ci是一个更好的排序规则,如果您不这样做的话。如果您根本不关心大小写不敏感的匹配,并且希望每个字符都是唯一的,请选择
latin1\u general\u cs


当然,现在人们希望你使用的是一种
utf8\uu
排序规则,而不是基于
latin1

@David:你在我之前发布了参考手册URL:)+1