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

3 façons d'obtenir les classements disponibles dans MariaDB

Si vous avez besoin de trouver les classements disponibles dans votre installation MariaDB, consultez les trois méthodes suivantes.

Le SHOW COLLATIONS Déclaration

Le SHOW COLLATIONS est un moyen simple et rapide de renvoyer tous les classements 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 COLLATION LIKE 'latin7%'; 

Résultat :

+-------------------------+---------+------+--- ------+----------+---------+| Collationnement | Jeu de caractères | identifiant | Par défaut | Compilé | Sorten |+-------------------------+---------+------+---- -----+----------+---------+| latin7_estonian_cs | latin7 | 20 | | Oui | 1 || latin7_general_ci | latin7 | 41 | Oui | Oui | 1 || latin7_general_cs | latin7 | 42 | | Oui | 1 || latin7_bin | latin7 | 79 | | Oui | 1 || latin7_general_nopad_ci | latin7 | 1065 | | Oui | 1 || latin7_nopad_bin | latin7 | 1103 | | Oui | 1 |+-------------------------+---------+------+---- -----+----------+---------+

Dans ce cas, j'ai limité les résultats aux seuls classements commençant par latin7 .

Notez que nous pouvons inclure le LIKE clause immédiatement après le SHOW COLLATION 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 :

SHOW COLLATION 
WHERE Sortlen LIKE '4' 
AND Collation LIKE 'utf%'; 

Résultat :

+---------------------+---------+-----+-------- -+----------+---------+| Collationnement | Jeu de caractères | identifiant | Par défaut | Compilé | Sorten |+---------------------+---------+-----+--------- +----------+---------+| utf8_thai_520_w2 | utf8 | 578 | | Oui | 4 || utf8mb4_thai_520_w2 | utf8mb4 | 610 | | Oui | 4 || utf16_thai_520_w2 | utf16 | 674 | | Oui | 4 || utf32_thai_520_w2 | utf32 | 738 | | Oui | 4 |+---------------------+---------+-----+--------- +----------+---------+

Le schéma d'information COLLATIONS Tableau

Le information_schema.COLLATIONS table contient une liste complète des classements pris en charge dans MariaDB. C'est la même liste que SHOW COLLATIONS renvoie.

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

Exemple :

SELECT * 
FROM information_schema.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4'; 

Résultat :

+---------------------+--------------------+--- --+------------+-------------+---------+| COLLATION_NAME | CHARACTER_SET_NAME | identifiant | IS_DEFAULT | EST_COMPILÉ | TROIS |+---------------------+--------------------+---- -+-----------+-------------+---------+| utf8_thai_520_w2 | utf8 | 578 | | Oui | 4 || utf8mb4_thai_520_w2 | utf8mb4 | 610 | | Oui | 4 || utf16_thai_520_w2 | utf16 | 674 | | Oui | 4 || utf32_thai_520_w2 | utf32 | 738 | | Oui | 4 |+---------------------+--------------------+---- -+------------+-------------+---------+

Comme vous pouvez le voir, il renvoie les mêmes colonnes que le SHOW COLLATIONS 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 
    COLLATION_NAME, 
    CHARACTER_SET_NAME 
FROM information_schema.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4'; 

Résultat :

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

Le schéma d'informations COLLATION_CHARACTER_SET_APPLICABILITY Tableau

Le information_schema.COLLATION_CHARACTER_SET_APPLICABILITY table contient un sous-ensemble de information_schema.COLLATIONS table. Il contient les mêmes classements et jeux de caractères, mais c'est tout. Je veux dire par là qu'il contient juste moins de colonnes.

Exemple :

SELECT * 
FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
LIMIT 10; 

Résultat :

+-----------------------+--------------------+| COLLATION_NAME | CHARACTER_SET_NAME |+-----------------------+--------------------+| big5_chinese_ci | grand5 || big5_bin | grand5 || big5_chinese_nopad_ci | grand5 || big5_nopad_bin | grand5 || dec8_swedish_ci | déc8 || dec8_bin | déc8 || dec8_swedish_nopad_ci | déc8 || dec8_nopad_bin | déc8 || cp850_general_ci | cp850 || cp850_bin | cp850 |+----------------------+--------------------+ 

Dans ce cas, j'ai utilisé le LIMIT clause pour limiter les lignes renvoyées à seulement 10. Sinon, il aurait renvoyé 322 lignes.