Hvis du har brug for at finde de sorteringer, der er tilgængelige i din MariaDB-installation, så tjek følgende tre metoder.
SHOW COLLATIONS
Erklæring
SHOW COLLATIONS
statement er en hurtig og nem måde at returnere alle de tilgængelige sorteringer i MariaDB. Du kan bruge dette alene til at returnere alle sammenstillinger eller filtrere resultaterne med en LIKE
og/eller WHERE
klausul.
Eksempel:
SHOW COLLATION LIKE 'latin7%';
Resultat:
+------------------------+--------+------+--- ------+----------+---------+| Samling | Tegnsæt | Id | Standard | Kompileret | Sortlen |+-------------------------+--------+------+---- -----+----------+---------+| latin7_estisk_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 dette tilfælde indsnævrede jeg resultaterne til kun de sammenstillinger, der starter med latin7
.
Bemærk, at vi kan inkludere LIKE
klausul umiddelbart efter SHOW COLLATION
tekst. Når vi gør dette, angiver det, hvilke sorteringsnavne der skal matche.
Her er et andet eksempel, hvor jeg bruger både WHERE
klausulen og LIKE
klausul:
SHOW COLLATION
WHERE Sortlen LIKE '4'
AND Collation LIKE 'utf%';
Resultat:
+---------------------+--------+-----+-------- -+----------+---------+| Samling | Tegnsæt | Id | Standard | Kompileret | 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 |+---------------------+--------+------+-------- +--------+---------+
Oplysningsskemaet COLLATIONS
Tabel
information_schema.COLLATIONS
tabel indeholder en komplet liste over understøttede sammenstillinger i MariaDB. Dette er den samme liste som SHOW COLLATIONS
vender tilbage.
Derfor kan vi forespørge i denne tabel for at returnere de sorteringer, vi ønsker at returnere. Vi kan også indsnævre kolonnerne til kun dem, vi er interesserede i.
Eksempel:
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, returnerer den de samme kolonner som SHOW COLLATIONS
erklæring returnerer.
Givet dette bruger standard SQL SELECT
statement, kan vi tilpasse vores resultater på en lang række måder. Vi kan også reducere de returnerede kolonner, sammensætte tabellen med andre tabeller osv.
Her er et eksempel på reduktion af de returnerede kolonner:
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 |+---------------------+------------------------+
Oplysningsskemaet COLLATION_CHARACTER_SET_APPLICABILITY
Tabel
information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
tabel indeholder et undersæt af information_schema.COLLATIONS
bord. Den indeholder de samme sammenstillinger og tegnsæt, men det er alt. Med det mener jeg, at den bare indeholder færre kolonner.
Eksempel:
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_svensk_ci | dec8 || dec8_bin | dec8 || dec8_swedish_nopad_ci | dec8 || dec8_nopad_bin | dec8 || cp850_general_ci | cp850 || cp850_bin | cp850 |+-----------------------+------------------------+I dette tilfælde brugte jeg
LIMIT
klausul for at begrænse antallet af returnerede rækker til kun 10. Ellers ville det have returneret 322 rækker.