Als je de tekensets wilt vinden die beschikbaar zijn in je MariaDB-installatie, bekijk dan de volgende twee methoden.
De SHOW CHARACTER SET
Verklaring
De SHOW CHARACTER SET
statement is een snelle en gemakkelijke manier om alle tekensets die beschikbaar zijn 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 CHARACTER SET LIKE 'latin%';
Resultaat:
+---------+-----------------------------+-------------------+--------+ | 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 | +---------+-----------------------------+-------------------+--------+
In dit geval heb ik de resultaten beperkt tot alleen die tekensets die beginnen met latin
.
Merk op dat we de LIKE
. kunnen opnemen clausule onmiddellijk na de SHOW CHARACTER SET
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, evenals de OR
operator:
SHOW CHARACTER SET
WHERE Maxlen LIKE '3'
OR Description LIKE '%Japanese%';
Resultaat:
+---------+---------------------------+---------------------+--------+ | 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 | +---------+---------------------------+---------------------+--------+
De information_schema.CHARACTER_SETS
Tabel
De information_schema.CHARACTER_SETS
tabel bevat een volledige lijst van ondersteunde tekensets in MariaDB. Dit is dezelfde lijst die SHOW CHARACTER_SETS
retourneert.
Daarom kunnen we deze tabel opvragen om de tekensets 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.CHARACTER_SETS
WHERE CHARACTER_SET_NAME LIKE 'utf%'
AND MAXLEN = '4';
Resultaat:
+--------------------+----------------------+------------------+--------+ | 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 | +--------------------+----------------------+------------------+--------+
Zoals je kunt zien, retourneert het dezelfde kolommen die de SHOW CHARACTER SETS
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
CHARACTER_SET_NAME,
DESCRIPTION
FROM information_schema.CHARACTER_SETS
WHERE CHARACTER_SET_NAME LIKE 'utf%'
AND MAXLEN = '4';
Resultaat:
+--------------------+------------------+ | CHARACTER_SET_NAME | DESCRIPTION | +--------------------+------------------+ | utf8mb4 | UTF-8 Unicode | | utf16 | UTF-16 Unicode | | utf16le | UTF-16LE Unicode | | utf32 | UTF-32 Unicode | +--------------------+------------------+