Als je de sorteringen wilt vinden die beschikbaar zijn in je MariaDB-installatie, bekijk dan de volgende drie methoden.
De SHOW COLLATIONS
Verklaring
De SHOW COLLATIONS
statement is een snelle en gemakkelijke manier om alle beschikbare sorteringen in MariaDB te retourneren. U kunt dit op zichzelf gebruiken om alle sorteringen terug te geven, of u kunt de resultaten filteren met een LIKE
en/of WHERE
clausule.
Voorbeeld:
SHOW COLLATION LIKE 'latin7%';
Resultaat:
+-------------------------+---------+------+---------+----------+---------+ | Collation | Charset | Id | Default | Compiled | Sortlen | +-------------------------+---------+------+---------+----------+---------+ | 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 | +-------------------------+---------+------+---------+----------+---------+
In dit geval heb ik de resultaten beperkt tot alleen die sorteringen die beginnen met latin7
.
Merk op dat we de LIKE
. kunnen opnemen clausule onmiddellijk na de SHOW COLLATION
tekst. Wanneer we dit doen, geeft het aan welke sorteernamen overeenkomen.
Hier is nog een voorbeeld waarbij ik zowel de WHERE
clausule en de LIKE
clausule:
SHOW COLLATION
WHERE Sortlen LIKE '4'
AND Collation LIKE 'utf%';
Resultaat:
+---------------------+---------+-----+---------+----------+---------+ | 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 | +---------------------+---------+-----+---------+----------+---------+
Het informatieschema COLLATIONS
Tabel
De information_schema.COLLATIONS
tabel bevat een volledige lijst van ondersteunde sorteringen in MariaDB. Dit is dezelfde lijst die SHOW COLLATIONS
retourneert.
Daarom kunnen we deze tabel opvragen om de sorteringen te retourneren die we willen retourneren. We kunnen de kolommen ook verkleinen tot alleen die waarin we geïnteresseerd zijn.
Voorbeeld:
SELECT *
FROM information_schema.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4';
Resultaat:
+---------------------+--------------------+-----+------------+-------------+---------+ | COLLATION_NAME | CHARACTER_SET_NAME | ID | IS_DEFAULT | IS_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 | +---------------------+--------------------+-----+------------+-------------+---------+
Zoals u kunt zien, retourneert het dezelfde kolommen als de SHOW COLLATIONS
verklaring retourneert.
Aangezien dit de standaard SQL gebruikt SELECT
verklaring, kunnen we onze resultaten op een groot aantal manieren aanpassen. We kunnen ook het aantal geretourneerde kolommen verkleinen, de tabel samenvoegen met andere tabellen, enz.
Hier is een voorbeeld van het verkleinen van de geretourneerde kolommen:
SELECT
COLLATION_NAME,
CHARACTER_SET_NAME
FROM information_schema.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4';
Resultaat:
+---------------------+--------------------+ | 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 | +---------------------+--------------------+
Het informatieschema COLLATION_CHARACTER_SET_APPLICABILITY
Tabel
De information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
tabel bevat een subset van de information_schema.COLLATIONS
tafel. Het bevat dezelfde sorteringen en tekensets, maar dat is alles. Daarmee bedoel ik dat het gewoon minder kolommen bevat.
Voorbeeld:
SELECT *
FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
LIMIT 10;
Resultaat:
+-----------------------+--------------------+ | 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 | +-----------------------+--------------------+
In dit geval gebruikte ik de LIMIT
clausule om het aantal geretourneerde rijen te beperken tot slechts 10. Anders zou het 322 rijen hebben geretourneerd.