Om du behöver hitta de sorteringar som är tillgängliga i din MariaDB-installation, kolla in följande tre metoder.
SHOW COLLATIONS
Uttalande
SHOW COLLATIONS
statement är ett snabbt och enkelt sätt att returnera alla sorteringar som finns tillgängliga i MariaDB. Du kan använda detta för att returnera alla sorteringar, eller filtrera resultaten med en LIKE
och/eller WHERE
klausul.
Exempel:
SHOW COLLATION LIKE 'latin7%';
Resultat:
+------------------------+---------+------+--- ------+----------+---------+| Samling | Teckenuppsättning | Id | Standard | Sammanställd | Sortlen |+-------------------------+--------+------+---- -----+----------+---------+| latin7_estonian_cs | latin7 | 20 | | Ja | 1 || latin7_general_ci | latin7 | 41 | Ja | Ja | 1 || latin7_general_cs | latin7 | 42 | | Ja | 1 || latin7_bin | latin7 | 79 | | Ja | 1 || latin7_general_nopad_ci | latin7 | 1065 | | Ja | 1 || latin7_nopad_bin | latin7 | 1103 | | Ja | 1 |+-------------------------+--------+------+---- -----+----------+---------+
I det här fallet har jag begränsat resultaten till bara de sammanställningar som börjar med latin7
.
Observera att vi kan inkludera LIKE
satsen omedelbart efter SHOW COLLATION
text. När vi gör detta indikerar det vilka sorteringsnamn som ska matchas.
Här är ett annat exempel där jag använder både WHERE
satsen och LIKE
klausul:
SHOW COLLATION
WHERE Sortlen LIKE '4'
AND Collation LIKE 'utf%';
Resultat:
+---------------------+--------+-----+-------- -+----------+---------+| Samling | Teckenuppsättning | Id | Standard | Sammanställd | Sortlen |+---------------------+--------+------+-------- +----------+---------+| utf8_thai_520_w2 | utf8 | 578 | | Ja | 4 || utf8mb4_thai_520_w2 | utf8mb4 | 610 | | Ja | 4 || utf16_thai_520_w2 | utf16 | 674 | | Ja | 4 || utf32_thai_520_w2 | utf32 | 738 | | Ja | 4 |+---------------------+--------+------+-------- +--------+---------+
Informationsschemat COLLATIONS
Tabell
information_schema.COLLATIONS
Tabellen innehåller en fullständig lista över sammanställningar som stöds i MariaDB. Detta är samma lista som SHOW COLLATIONS
returnerar.
Därför kan vi fråga den här tabellen för att returnera de sorteringar vi vill returnera. Vi kan också begränsa kolumnerna till bara de vi är intresserade av.
Exempel:
SELECT *
FROM information_schema.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4';
Resultat:
+---------------------+------------------------+--- --+------------+-------------+---------+| COLLATION_NAME | CHARACTER_SET_NAME | ID | IS_DEFAULT | IS_COMPILED | SORTLEN |+---------------------+--------------------+---- --+------------+-------------+---------+| utf8_thai_520_w2 | utf8 | 578 | | Ja | 4 || utf8mb4_thai_520_w2 | utf8mb4 | 610 | | Ja | 4 || utf16_thai_520_w2 | utf16 | 674 | | Ja | 4 || utf32_thai_520_w2 | utf32 | 738 | | Ja | 4 |+---------------------+--------------------+---- --+------------+-------------+---------+
Som du kan se returnerar den samma kolumner som SHOW COLLATIONS
uttalande returnerar.
Givet detta använder standard SQL SELECT
uttalande, kan vi anpassa våra resultat på ett stort antal sätt. Vi kan också minska antalet returnerade kolumner, sammanfoga tabellen med andra tabeller, etc.
Här är ett exempel på hur du kan minska antalet returnerade kolumner:
SELECT
COLLATION_NAME,
CHARACTER_SET_NAME
FROM information_schema.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4';
Resultat:
+---------------------+------------------------+| 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 |+---------------------+------------------------+
Informationsschemat COLLATION_CHARACTER_SET_APPLICABILITY
Tabell
information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
Tabellen innehåller en delmängd av information_schema.COLLATIONS
tabell. Den innehåller samma sammanställningar och teckenuppsättningar, men det är allt. Med det menar jag att den bara innehåller färre kolumner.
Exempel:
SELECT *
FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
LIMIT 10;
Resultat:
+------------------------+------------------------+| COLLATION_NAME | CHARACTER_SET_NAME |+-----------------------------+--------------------+| big5_chinese_ci | big5 || big5_bin | big5 || big5_chinese_nopad_ci | big5 || big5_nopad_bin | big5 || dec8_swedish_ci | dec8 || dec8_bin | dec8 || dec8_swedish_nopad_ci | dec8 || dec8_nopad_bin | dec8 || cp850_general_ci | cp850 || cp850_bin | cp850 |+-----------------------+------------------------+I det här fallet använde jag
LIMIT
klausul för att begränsa antalet returnerade rader till bara 10. Annars skulle det ha returnerat 322 rader.