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

3 modi per ottenere le collazioni disponibili in MariaDB

Se hai bisogno di trovare le regole di confronto disponibili nella tua installazione di MariaDB, controlla i tre metodi seguenti.

Il SHOW COLLATIONS Dichiarazione

Il SHOW COLLATIONS statement è un modo semplice e veloce per restituire tutte le regole di confronto 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 COLLATION LIKE 'latin7%';

Risultato:

+-------------------------+---------+------+---------+----------+---------+
| Collation               | Charset | Id   | Default | Compiled | Sortlen |
+-------------------------+---------+------+---------+----------+---------+
| latin7_estonian_cs      | latin7  |   20 |         | Yes      |       1 |
| latin7_general_ci       | latin7  |   41 | Yes     | Yes      |       1 |
| latin7_general_cs       | latin7  |   42 |         | Yes      |       1 |
| latin7_bin              | latin7  |   79 |         | Yes      |       1 |
| latin7_general_nopad_ci | latin7  | 1065 |         | Yes      |       1 |
| latin7_nopad_bin        | latin7  | 1103 |         | Yes      |       1 |
+-------------------------+---------+------+---------+----------+---------+

In questo caso, ho ristretto i risultati solo alle regole di confronto che iniziano con latin7 .

Nota che possiamo includere il LIKE clausola immediatamente dopo il SHOW COLLATION 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:

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

Risultato:

+---------------------+---------+-----+---------+----------+---------+
| Collation           | Charset | Id  | Default | Compiled | Sortlen |
+---------------------+---------+-----+---------+----------+---------+
| utf8_thai_520_w2    | utf8    | 578 |         | Yes      |       4 |
| utf8mb4_thai_520_w2 | utf8mb4 | 610 |         | Yes      |       4 |
| utf16_thai_520_w2   | utf16   | 674 |         | Yes      |       4 |
| utf32_thai_520_w2   | utf32   | 738 |         | Yes      |       4 |
+---------------------+---------+-----+---------+----------+---------+

Lo schema informativo COLLATIONS Tabella

Il information_schema.COLLATIONS la tabella contiene un elenco completo delle regole di confronto supportate in MariaDB. Questo è lo stesso elenco che SHOW COLLATIONS resi.

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

Esempio:

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

Risultato:

+---------------------+--------------------+-----+------------+-------------+---------+
| COLLATION_NAME      | CHARACTER_SET_NAME | ID  | IS_DEFAULT | IS_COMPILED | SORTLEN |
+---------------------+--------------------+-----+------------+-------------+---------+
| utf8_thai_520_w2    | utf8               | 578 |            | Yes         |       4 |
| utf8mb4_thai_520_w2 | utf8mb4            | 610 |            | Yes         |       4 |
| utf16_thai_520_w2   | utf16              | 674 |            | Yes         |       4 |
| utf32_thai_520_w2   | utf32              | 738 |            | Yes         |       4 |
+---------------------+--------------------+-----+------------+-------------+---------+

Come puoi vedere, restituisce le stesse colonne di SHOW COLLATIONS 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 
    COLLATION_NAME, 
    CHARACTER_SET_NAME 
FROM information_schema.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4';

Risultato:

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

Lo schema informativo COLLATION_CHARACTER_SET_APPLICABILITY Tabella

Lo information_schema.COLLATION_CHARACTER_SET_APPLICABILITY la tabella contiene un sottoinsieme di information_schema.COLLATIONS tavolo. Contiene le stesse regole di confronto e set di caratteri, ma questo è tutto. Con questo intendo dire che contiene solo meno colonne.

Esempio:

SELECT * 
FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
LIMIT 10;

Risultato:

+-----------------------+--------------------+
| COLLATION_NAME        | CHARACTER_SET_NAME |
+-----------------------+--------------------+
| big5_chinese_ci       | big5               |
| big5_bin              | big5               |
| big5_chinese_nopad_ci | big5               |
| big5_nopad_bin        | big5               |
| dec8_swedish_ci       | dec8               |
| dec8_bin              | dec8               |
| dec8_swedish_nopad_ci | dec8               |
| dec8_nopad_bin        | dec8               |
| cp850_general_ci      | cp850              |
| cp850_bin             | cp850              |
+-----------------------+--------------------+

In questo caso ho usato il LIMIT clausola per limitare le righe restituite a sole 10. Altrimenti avrebbe restituito 322 righe.