MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

2 façons d'obtenir les jeux de caractères disponibles dans MariaDB

Si vous avez besoin de trouver les jeux de caractères disponibles dans votre installation MariaDB, consultez les deux méthodes suivantes.

Le SHOW CHARACTER SET Déclaration

Le SHOW CHARACTER SET est un moyen simple et rapide de renvoyer tous les jeux de caractères disponibles dans MariaDB. Vous pouvez l'utiliser seul pour renvoyer tous les classements ou filtrer les résultats avec un LIKE et/ou WHERE clause.

Exemple :

SHOW CHARACTER SET LIKE 'latin%';

Résultat :

+---------+-----------------------------+-------------------+--------+
| 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 |
+---------+-----------------------------+-------------------+--------+

Dans ce cas, j'ai limité les résultats aux seuls jeux de caractères commençant par latin .

Notez que nous pouvons inclure le LIKE clause immédiatement après le SHOW CHARACTER SET texte. Lorsque nous faisons cela, il indique les noms de classement à faire correspondre.

Voici un autre exemple où j'utilise à la fois le WHERE clause et le LIKE clause, ainsi que le OR opérateur :

SHOW CHARACTER SET 
WHERE Maxlen LIKE '3'
OR Description LIKE '%Japanese%';

Résultat :

+---------+---------------------------+---------------------+--------+
| 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 |
+---------+---------------------------+---------------------+--------+

Le information_schema.CHARACTER_SETS Tableau

Le information_schema.CHARACTER_SETS table contient une liste complète des jeux de caractères pris en charge dans MariaDB. C'est la même liste que SHOW CHARACTER_SETS renvoie.

Par conséquent, nous pouvons interroger cette table pour renvoyer les jeux de caractères que nous voulons renvoyer. Nous pouvons également restreindre les colonnes à celles qui nous intéressent.

Exemple :

SELECT * 
FROM information_schema.CHARACTER_SETS
WHERE CHARACTER_SET_NAME LIKE 'utf%'
AND MAXLEN = '4';

Résultat :

+--------------------+----------------------+------------------+--------+
| 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 |
+--------------------+----------------------+------------------+--------+

Comme vous pouvez le voir, il renvoie les mêmes colonnes que le SHOW CHARACTER SETS déclaration renvoie.

Étant donné que cela utilise le standard SQL SELECT déclaration, nous pouvons personnaliser nos résultats de nombreuses façons. On peut aussi réduire les colonnes renvoyées, joindre la table avec d'autres tables, etc.

Voici un exemple de réduction des colonnes renvoyées :

SELECT 
    CHARACTER_SET_NAME,
    DESCRIPTION
FROM information_schema.CHARACTER_SETS
WHERE CHARACTER_SET_NAME LIKE 'utf%'
AND MAXLEN = '4';

Résultat :

+--------------------+------------------+
| CHARACTER_SET_NAME | DESCRIPTION      |
+--------------------+------------------+
| utf8mb4            | UTF-8 Unicode    |
| utf16              | UTF-16 Unicode   |
| utf16le            | UTF-16LE Unicode |
| utf32              | UTF-32 Unicode   |
+--------------------+------------------+