SHOW COLLATION 在 MariaDB 中的工作原理

发布于

在 MariaDB 中,您可以使用管理 SQL 语句返回 MariaDB 中所有可用的排序规则。SHOW COLLATION

语法

语法是这样的:

SHOW COLLATION [LIKE 'pattern' | WHERE expr]

有很多排序规则,因此每当您对要查找的排序规则子集有所了解时,使用 theand/or 子句会有所帮助。LIKEWHERE

例子

以下是一些要演示的示例。

该条款LIKE

下面是一个使用 theclause 返回所有以以下内容开头的排序规则的示例:LIKE``latin

SHOW COLLATION LIKE 'latin%';

结果:

+————————-+———+——+———+———-+———+ | Collation | Charset | Id | Default | Compiled | Sortlen | +————————-+———+——+———+———-+———+ | latin1_german1_ci | latin1 | 5 | | Yes | 1 | | latin1_swedish_ci | latin1 | 8 | Yes | Yes | 1 | | latin1_danish_ci | latin1 | 15 | | Yes | 1 | | latin1_german2_ci | latin1 | 31 | | Yes | 2 | | latin1_bin | latin1 | 47 | | Yes | 1 | | latin1_general_ci | latin1 | 48 | | Yes | 1 | | latin1_general_cs | latin1 | 49 | | Yes | 1 | | latin1_spanish_ci | latin1 | 94 | | Yes | 1 | | latin1_swedish_nopad_ci | latin1 | 1032 | | Yes | 1 | | latin1_nopad_bin | latin1 | 1071 | | Yes | 1 | | latin2_czech_cs | latin2 | 2 | | Yes | 4 | | latin2_general_ci | latin2 | 9 | Yes | Yes | 1 | | latin2_hungarian_ci | latin2 | 21 | | Yes | 1 | | latin2_croatian_ci | latin2 | 27 | | Yes | 1 | | latin2_bin | latin2 | 77 | | Yes | 1 | | latin2_general_nopad_ci | latin2 | 1033 | | Yes | 1 | | latin2_nopad_bin | latin2 | 1101 | | Yes | 1 | | latin5_turkish_ci | latin5 | 30 | Yes | Yes | 1 | | latin5_bin | latin5 | 78 | | Yes | 1 | | latin5_turkish_nopad_ci | latin5 | 1054 | | Yes | 1 | | latin5_nopad_bin | latin5 | 1102 | | Yes | 1 | | latin7_estonian_cs | latin7 | 20 | | Yes | 1 | | latin7_general_ci | latin7 | 41 | Yes | Yes | 1 | | latin7_general_cs | latin7 | 42 | | Yes | 1 | | latin7_bin | latin7 | 79 | | Yes | 1 | | latin7_general_nopad_ci | latin7 | 1065 | | Yes | 1 | | latin7_nopad_bin | latin7 | 1103 | | Yes | 1 | +————————-+———+——+———+———-+———+

该条款WHERE

下面是一个使用 theclause 返回所有带有 aof 的排序规则的示例:WHERE``Sortlen``2

SHOW COLLATION WHERE Sortlen LIKE '2';

结果:

+——————-+———+—-+———+———-+———+ | Collation | Charset | Id | Default | Compiled | Sortlen | +——————-+———+—-+———+———-+———+ | latin1_german2_ci | latin1 | 31 | | Yes | 2 | | cp1250_czech_cs | cp1250 | 34 | | Yes | 2 | +——————-+———+—-+———+———-+———+

关键字AND

我们可以将条件与关键字结合起来:AND

SHOW COLLATION 
WHERE Sortlen LIKE '4' 
AND Collation LIKE 'utf%';

结果:

+———————+———+—–+———+———-+———+ | Collation | Charset | Id | Default | Compiled | Sortlen | +———————+———+—–+———+———-+———+ | utf8_thai_520_w2 | utf8 | 578 | | Yes | 4 | | utf8mb4_thai_520_w2 | utf8mb4 | 610 | | Yes | 4 | | utf16_thai_520_w2 | utf16 | 674 | | Yes | 4 | | utf32_thai_520_w2 | utf32 | 738 | | Yes | 4 | +———————+———+—–+———+———-+———+

返回所有排序规则

要返回所有排序规则,只需删除所有子句:

SHOW COLLATION;

有关结果,请参阅MariaDB 中支持的排序规则的完整列表。