Ако трябва да намерите съпоставянията, които са налични във вашата инсталация на MariaDB, вижте следните три метода.
SHOW COLLATIONS
Изявление
SHOW COLLATIONS
операторът е бърз и лесен начин за връщане на всички съпоставяния, налични в MariaDB. Можете да използвате това самостоятелно, за да върнете всички съпоставяния или да филтрирате резултатите с LIKE
и/или WHERE
клауза.
Пример:
SHOW COLLATION LIKE 'latin7%';
Резултат:
+-------------------+----------+------+--- ------+----------+--------+| Събиране | Charset | Идентификатор | По подразбиране | Съставено | Сортен |+------------------------+--------+------+---- -----+---------+--------+| latin7_estonian_cs | латино7 | 20 | | Да | 1 || latin7_general_ci | латино7 | 41 | Да | Да | 1 || latin7_general_cs | латино7 | 42 | | Да | 1 || latin7_bin | латино7 | 79 | | Да | 1 || latin7_general_nopad_ci | латино7 | 1065 | | Да | 1 || latin7_nopad_bin | латино7 | 1103 | | Да | 1 |+-------------------+----------+------+---- -----+---------+---------+
В този случай стесних резултатите само до тези съпоставяния, които започват с latin7
.
Забележете, че можем да включим LIKE
клауза непосредствено след SHOW COLLATION
текст. Когато направим това, той показва кои имена на съпоставяне да съвпадат.
Ето още един пример, в който използвам и двата WHERE
клауза и LIKE
клауза:
SHOW COLLATION
WHERE Sortlen LIKE '4'
AND Collation LIKE 'utf%';
Резултат:
+---------------------+--------+-----+-------- -+----------+--------+| Събиране | Charset | Идентификатор | По подразбиране | Съставено | Сортен |+---------------------+--------+-----+--------- +----------+--------+| utf8_thai_520_w2 | utf8 | 578 | | Да | 4 || utf8mb4_thai_520_w2 | utf8mb4 | 610 | | Да | 4 || utf16_thai_520_w2 | utf16 | 674 | | Да | 4 || utf32_thai_520_w2 | utf32 | 738 | | Да | 4 |+---------------------+--------+-----+--------- +----------+--------+
Информационната схема COLLATIONS
Таблица
information_schema.COLLATIONS
таблицата съдържа пълен списък на поддържаните съпоставяния в MariaDB. Това е същият списък, който SHOW COLLATIONS
връща.
Следователно можем да направим заявка към тази таблица, за да върнем съпоставянията, които искаме да върнем. Можем също да стесним колоните само до тези, които ни интересуват.
Пример:
SELECT *
FROM information_schema.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4';
Резултат:
+---------------------+--------------------+--- --+-----------+------------+--------+| COLLATION_NAME | CHARACTER_SET_NAME | ID | IS_DEFAULT | IS_COMPILED | СОРТИРАН |+---------------------+--------------------+---- -+-----------+------------+--------+| utf8_thai_520_w2 | utf8 | 578 | | Да | 4 || utf8mb4_thai_520_w2 | utf8mb4 | 610 | | Да | 4 || utf16_thai_520_w2 | utf16 | 674 | | Да | 4 || utf32_thai_520_w2 | utf32 | 738 | | Да | 4 |+---------------------+--------------------+---- -+-----------+------------+--------+
Както можете да видите, той връща същите колони като SHOW COLLATIONS
изявление се връща.
Като се има предвид, това използва стандартния SQL SELECT
изявление, можем да персонализираме нашите резултати по голям брой начини. Можем също да намалим върнатите колони, да обединим таблицата с други таблици и т.н.
Ето пример за намаляване на върнатите колони:
SELECT
COLLATION_NAME,
CHARACTER_SET_NAME
FROM information_schema.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4';
Резултат:
<пред>+---------------------+--------------------+| COLLATION_NAME | CHARACTER_SET_NAME |+---------------------+-------------------+| utf8_thai_520_w2 | utf8 || utf8mb4_thai_520_w2 | utf8mb4 || utf16_thai_520_w2 | utf16 || utf32_thai_520_w2 | utf32 |+---------------------+-------------------+Информационната схема COLLATION_CHARACTER_SET_APPLICABILITY
Таблица
information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
таблицата съдържа подмножество от information_schema.COLLATIONS
маса. Той съдържа същите съпоставяния и набори от знаци, но това е всичко. С това имам предвид, че съдържа по-малко колони.
Пример:
SELECT *
FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
LIMIT 10;
Резултат:
+-----------------------+-------------------+| COLLATION_NAME | CHARACTER_SET_NAME |+-----------------------+-------------------+| big5_chinese_ci | голям5 || big5_bin | голям5 || big5_chinese_nopad_ci | голям5 || big5_nopad_bin | голям5 || dec8_swedish_ci | дек8 || dec8_bin | дек8 || dec8_swedish_nopad_ci | дек8 || dec8_nopad_bin | дек8 || cp850_general_ci | cp850 || cp850_bin | cp850 |+-----------------------+-------------------+предварително>В този случай използвах
LIMIT
Клауза за ограничаване на върнатите редове само до 10. В противен случай щеше да върне 322 реда.