Jeśli chcesz znaleźć sortowanie dostępne w Twojej instalacji MariaDB, zapoznaj się z następującymi trzema metodami.
SHOW COLLATIONS
Oświadczenie
SHOW COLLATIONS
zestawienie to szybki i łatwy sposób na zwrócenie wszystkich zestawień dostępnych w MariaDB. Możesz użyć tego samego do zwrócenia wszystkich sortowań lub filtrowania wyników za pomocą LIKE
i/lub WHERE
klauzula.
Przykład:
SHOW COLLATION LIKE 'latin7%';
Wynik:
+-------------------------+---------+------+---------+----------+---------+ | 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 | +-------------------------+---------+------+---------+----------+---------+
W tym przypadku zawęziłem wyniki tylko do tych zestawień, które zaczynają się od latin7
.
Zauważ, że możemy dołączyć LIKE
klauzula bezpośrednio po SHOW COLLATION
tekst. Kiedy to robimy, wskazuje, które nazwy sortowania mają pasować.
Oto kolejny przykład, w którym używam zarówno WHERE
klauzula i LIKE
klauzula:
SHOW COLLATION
WHERE Sortlen LIKE '4'
AND Collation LIKE 'utf%';
Wynik:
+---------------------+---------+-----+---------+----------+---------+ | 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 | +---------------------+---------+-----+---------+----------+---------+
Schemat informacyjny COLLATIONS
Tabela
information_schema.COLLATIONS
tabela zawiera pełną listę obsługiwanych sortowań w MariaDB. To jest ta sama lista, co SHOW COLLATIONS
powraca.
Dlatego możemy wysłać zapytanie do tej tabeli, aby zwrócić sortowanie, które chcemy zwrócić. Możemy również zawęzić kolumny tylko do tych, którymi jesteśmy zainteresowani.
Przykład:
SELECT *
FROM information_schema.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4';
Wynik:
+---------------------+--------------------+-----+------------+-------------+---------+ | 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 | +---------------------+--------------------+-----+------------+-------------+---------+
Jak widać, zwraca te same kolumny, które SHOW COLLATIONS
instrukcja powraca.
Biorąc pod uwagę, że używa standardowego SQL SELECT
oświadczenie, możemy dostosować nasze wyniki na wiele sposobów. Możemy również zmniejszyć zwracane kolumny, połączyć tabelę z innymi tabelami itp.
Oto przykład zmniejszenia zwracanych kolumn:
SELECT
COLLATION_NAME,
CHARACTER_SET_NAME
FROM information_schema.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4';
Wynik:
+---------------------+--------------------+ | 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 | +---------------------+--------------------+
Schemat informacji COLLATION_CHARACTER_SET_APPLICABILITY
Tabela
information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
tabela zawiera podzbiór information_schema.COLLATIONS
stół. Zawiera te same zestawienia i zestawy znaków, ale to wszystko. Rozumiem przez to, że zawiera po prostu mniej kolumn.
Przykład:
SELECT *
FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
LIMIT 10;
Wynik:
+-----------------------+--------------------+ | 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 | +-----------------------+--------------------+
W tym przypadku użyłem LIMIT
klauzula ograniczająca zwracane wiersze do zaledwie 10. W przeciwnym razie zwrócono by 322 wiersze.