MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

3 maneiras de obter os agrupamentos disponíveis no MariaDB


Se você precisar encontrar os agrupamentos disponíveis em sua instalação do MariaDB, confira os três métodos a seguir.

O SHOW COLLATIONS Declaração


O SHOW COLLATIONS declaração é uma maneira rápida e fácil de retornar todos os agrupamentos disponíveis no MariaDB. Você pode usar isso sozinho para retornar todos os agrupamentos ou filtrar os resultados com um LIKE e/ou WHERE cláusula.

Exemplo:
SHOW COLLATION LIKE 'latin7%'; 

Resultado:
+-------------------------+---------+------+--- ------+----------+---------+| Agrupamento | Conjunto de caracteres | ID | Padrão | Compilado | Classificar |+--------------+---------+------+---- -----+----------+---------+| latin7_estonian_cs | latin7 | 20 | | Sim | 1 || latin7_general_ci | latin7 | 41 | Sim | Sim | 1 || latin7_general_cs | latin7 | 42 | | Sim | 1 || latin7_bin | latin7 | 79 | | Sim | 1 || latin7_general_nopad_ci | latin7 | 1065 | | Sim | 1 || latin7_nopad_bin | latin7 | 1103 | | Sim | 1 |+-------------------------+---------+------+---- -----+----------+-------------+

Nesse caso, reduzi os resultados apenas aos agrupamentos que começam com latin7 .

Observe que podemos incluir o LIKE cláusula imediatamente após o SHOW COLLATION texto. Quando fazemos isso, ele indica quais nomes de agrupamento devem ser correspondidos.

Aqui está outro exemplo onde eu uso tanto o WHERE cláusula e o LIKE cláusula:
SHOW COLLATION 
WHERE Sortlen LIKE '4' 
AND Collation LIKE 'utf%'; 

Resultado:
+----------+---------+-----+-------- -+----------+---------+| Agrupamento | Conjunto de caracteres | ID | Padrão | Compilado | Sortlen |+----------+---------+-----+--------- +----------+---------+| utf8_thai_520_w2 | utf8 | 578 | | Sim | 4 || utf8mb4_thai_520_w2 | utf8mb4 | 610 | | Sim | 4 || utf16_thai_520_w2 | utf16 | 674 | | Sim | 4 || utf32_thai_520_w2 | utf32 | 738 | | Sim | 4 |+----------+---------+-----+--------- +----------+---------+

O Esquema de Informações COLLATIONS Tabela


O information_schema.COLLATIONS table contém uma lista completa de agrupamentos suportados no MariaDB. Esta é a mesma lista que SHOW COLLATIONS retorna.

Portanto, podemos consultar esta tabela para retornar os agrupamentos que desejamos retornar. Também podemos restringir as colunas apenas àquelas em que estamos interessados.

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

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

Como você pode ver, ele retorna as mesmas colunas que SHOW COLLATIONS declaração retorna.

Dado isso, usa o SQL padrão SELECT declaração, podemos personalizar nossos resultados de várias maneiras. Também podemos reduzir as colunas retornadas, unir a tabela com outras tabelas, etc.

Aqui está um exemplo de redução das colunas retornadas:
SELECT 
    COLLATION_NAME, 
    CHARACTER_SET_NAME 
FROM information_schema.COLLATIONS
WHERE COLLATION_NAME LIKE 'utf%'
AND SORTLEN = '4'; 

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

O esquema de informações COLLATION_CHARACTER_SET_APPLICABILITY Tabela


O information_schema.COLLATION_CHARACTER_SET_APPLICABILITY table contém um subconjunto do information_schema.COLLATIONS tabela. Ele contém os mesmos agrupamentos e conjuntos de caracteres, mas isso é tudo. Com isso quero dizer que contém apenas menos colunas.

Exemplo:
SELECT * 
FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
LIMIT 10; 

Resultado:
+-----------------------+--------------------+| COLLATION_NAME | CHARACTER_SET_NAME |+----------------------------------+--------------------+| big5_chinese_ci | big5 || big5_bin | big5 || big5_chinese_nopad_ci | big5 || big5_nopad_bin | big5 || dec8_swedish_ci | dez8 || dec8_bin | dez8 || dec8_swedish_nopad_ci | dez8 || dec8_nopad_bin | dez8 || cp850_general_ci | cp850 || cp850_bin | cp850 |+-----------------------+--------------------+ 
Neste caso eu usei o LIMIT cláusula para limitar as linhas retornadas a apenas 10. Caso contrário, teria retornado 322 linhas.