MariaDB
 sql >> Database >  >> RDS >> MariaDB

2 modi per ottenere i set di caratteri disponibili in MariaDB

Se hai bisogno di trovare i set di caratteri disponibili nella tua installazione di MariaDB, controlla i due metodi seguenti.

Il SHOW CHARACTER SET Dichiarazione

Il SHOW CHARACTER SET istruzione è un modo semplice e veloce per restituire tutti i set di caratteri disponibili in MariaDB. Puoi usarlo da solo per restituire tutte le regole di confronto o filtrare i risultati con un LIKE e/o WHERE clausola.

Esempio:

SHOW CHARACTER SET LIKE 'latin%';

Risultato:

+---------+-----------------------------+-------------------+--------+
| 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 questo caso, ho ristretto i risultati solo a quei set di caratteri che iniziano con latin .

Nota che possiamo includere il LIKE clausola immediatamente dopo il SHOW CHARACTER SET testo. Quando lo facciamo, indica quali nomi di confronto devono corrispondere.

Ecco un altro esempio in cui utilizzo sia il WHERE clausola e il LIKE clausola, così come il OR operatore:

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

Risultato:

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

Il information_schema.CHARACTER_SETS Tabella

Lo information_schema.CHARACTER_SETS la tabella contiene un elenco completo dei set di caratteri supportati in MariaDB. Questo è lo stesso elenco che SHOW CHARACTER_SETS resi.

Pertanto, possiamo interrogare questa tabella per restituire i set di caratteri che vogliamo restituire. Possiamo anche restringere le colonne solo a quelle che ci interessano.

Esempio:

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

Risultato:

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

Come puoi vedere, restituisce le stesse colonne che SHOW CHARACTER SETS dichiarazioni di ritorno.

Dato questo utilizza lo standard SQL SELECT dichiarazione, possiamo personalizzare i nostri risultati in molti modi. Possiamo anche ridurre le colonne restituite, unire la tabella con altre tabelle, ecc.

Ecco un esempio di riduzione delle colonne restituite:

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

Risultato:

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