Ако трябва да намерите наборите от знаци, които са налични във вашата инсталация на MariaDB, вижте следните два метода.
SHOW CHARACTER SET
Изявление
SHOW CHARACTER SET
операторът е бърз и лесен начин за връщане на всички набори от знаци, които са налични в MariaDB. Можете да използвате това самостоятелно, за да върнете всички съпоставяния или да филтрирате резултатите с LIKE
и/или WHERE
клауза.
Пример:
SHOW CHARACTER SET LIKE 'latin%';
Резултат:
+---------+-----------------------------+-------------------+--------+ | 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 | +---------+-----------------------------+-------------------+--------+
В този случай стесних резултатите само до онези набори от знаци, които започват с latin
.
Забележете, че можем да включим LIKE
клауза непосредствено след SHOW CHARACTER SET
текст. Когато направим това, той показва кои имена на съпоставяне да съвпадат.
Ето още един пример, в който използвам и двата WHERE
клауза и LIKE
клауза, както и OR
оператор:
SHOW CHARACTER SET
WHERE Maxlen LIKE '3'
OR Description LIKE '%Japanese%';
Резултат:
+---------+---------------------------+---------------------+--------+ | 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
Таблица
information_schema.CHARACTER_SETS
таблицата съдържа пълен списък на поддържаните набори от символи в MariaDB. Това е същият списък, който SHOW CHARACTER_SETS
връща.
Следователно можем да направим заявка към тази таблица, за да върнем наборите от знаци, които искаме да върнем. Можем също да стесним колоните само до тези, които ни интересуват.
Пример:
SELECT *
FROM information_schema.CHARACTER_SETS
WHERE CHARACTER_SET_NAME LIKE 'utf%'
AND MAXLEN = '4';
Резултат:
+--------------------+----------------------+------------------+--------+ | 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 | +--------------------+----------------------+------------------+--------+
Както можете да видите, той връща същите колони, които SHOW CHARACTER SETS
изявление се връща.
Като се има предвид, това използва стандартния SQL SELECT
изявление, можем да персонализираме нашите резултати по голям брой начини. Можем също да намалим върнатите колони, да обединим таблицата с други таблици и т.н.
Ето пример за намаляване на върнатите колони:
SELECT
CHARACTER_SET_NAME,
DESCRIPTION
FROM information_schema.CHARACTER_SETS
WHERE CHARACTER_SET_NAME LIKE 'utf%'
AND MAXLEN = '4';
Резултат:
+--------------------+------------------+ | CHARACTER_SET_NAME | DESCRIPTION | +--------------------+------------------+ | utf8mb4 | UTF-8 Unicode | | utf16 | UTF-16 Unicode | | utf16le | UTF-16LE Unicode | | utf32 | UTF-32 Unicode | +--------------------+------------------+