Jeśli chcesz znaleźć zestawy znaków, które są dostępne w Twojej instalacji MariaDB, skorzystaj z następujących dwóch metod.
SHOW CHARACTER SET
Oświadczenie
SHOW CHARACTER SET
Instrukcja jest szybkim i łatwym sposobem na zwrócenie wszystkich zestawów znaków 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 CHARACTER SET LIKE 'latin%';
Wynik:
+---------+-----------------------------+-------------------+--------+ | Charset | Description | Default collation | Maxlen | +---------+-----------------------------+-------------------+--------+ | latin1 | cp1252 West European | latin1_swedish_ci | 1 | | latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 | | latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 | | latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 | +---------+-----------------------------+-------------------+--------+
W tym przypadku zawęziłem wyniki tylko do tych zestawów znaków, które zaczynają się od latin
.
Zauważ, że możemy dołączyć LIKE
klauzula bezpośrednio po SHOW CHARACTER SET
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, a także OR
operator:
SHOW CHARACTER SET
WHERE Maxlen LIKE '3'
OR Description LIKE '%Japanese%';
Wynik:
+---------+---------------------------+---------------------+--------+ | Charset | Description | Default collation | Maxlen | +---------+---------------------------+---------------------+--------+ | ujis | EUC-JP Japanese | ujis_japanese_ci | 3 | | sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 | | utf8 | UTF-8 Unicode | utf8_general_ci | 3 | | cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 | | eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 | +---------+---------------------------+---------------------+--------+
information_schema.CHARACTER_SETS
Tabela
information_schema.CHARACTER_SETS
tabela zawiera pełną listę obsługiwanych zestawów znaków w MariaDB. To jest ta sama lista, którą SHOW CHARACTER_SETS
powraca.
Dlatego możemy wysłać zapytanie do tej tabeli, aby zwrócić zestawy znaków, 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.CHARACTER_SETS
WHERE CHARACTER_SET_NAME LIKE 'utf%'
AND MAXLEN = '4';
Wynik:
+--------------------+----------------------+------------------+--------+ | CHARACTER_SET_NAME | DEFAULT_COLLATE_NAME | DESCRIPTION | MAXLEN | +--------------------+----------------------+------------------+--------+ | utf8mb4 | utf8mb4_general_ci | UTF-8 Unicode | 4 | | utf16 | utf16_general_ci | UTF-16 Unicode | 4 | | utf16le | utf16le_general_ci | UTF-16LE Unicode | 4 | | utf32 | utf32_general_ci | UTF-32 Unicode | 4 | +--------------------+----------------------+------------------+--------+
Jak widać, zwraca te same kolumny, które SHOW CHARACTER SETS
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
CHARACTER_SET_NAME,
DESCRIPTION
FROM information_schema.CHARACTER_SETS
WHERE CHARACTER_SET_NAME LIKE 'utf%'
AND MAXLEN = '4';
Wynik:
+--------------------+------------------+ | CHARACTER_SET_NAME | DESCRIPTION | +--------------------+------------------+ | utf8mb4 | UTF-8 Unicode | | utf16 | UTF-16 Unicode | | utf16le | UTF-16LE Unicode | | utf32 | UTF-32 Unicode | +--------------------+------------------+