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 oLIMIT
cláusula para limitar as linhas retornadas a apenas 10. Caso contrário, teria retornado 322 linhas.