Quando você executa uma consulta em um banco de dados MySQL, o MySQL usa várias variáveis do sistema para determinar qual conjunto de caracteres e agrupamento usar sempre que as consultas forem executadas. Se o cliente usa um conjunto de caracteres diferente para o servidor, o MySQL pode traduzi-lo em um conjunto de caracteres e agrupamento apropriados.
Ao enviar os resultados da consulta de volta ao cliente, o MySQL pode traduzir esses resultados de volta para um conjunto de caracteres diferente, se necessário. O MySQL usa variáveis de sistema para determinar quais conjuntos de caracteres e agrupamentos devem ser usados em cada uma dessas etapas.
O seguinte destaca o agrupamento de conexão:
SELECT @@collation_connection;
Exemplo de resultado:
+------------------------+ | @@collation_connection | +------------------------+ | utf8mb4_0900_ai_ci | +------------------------+
Usando SHOW VARIABLES
Declaração
Outra maneira de recuperar a
collation_connection
variável de sistema é usar o SHOW VARIABLES
para retornar várias variáveis de sistema relacionadas ao agrupamento. A maneira mais fácil de fazer isso é usar o LIKE
cláusula para reduzi-la a apenas variáveis que começam com collation
. Assim:SHOW VARIABLES LIKE 'collation%';
Isso retorna o agrupamento para o servidor, conexão e banco de dados. Assim:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8mb4_0900_ai_ci | | collation_database | utf8_general_ci | | collation_server | utf8mb4_0900_ai_ci | +----------------------+--------------------+
Você também pode retornar todas as variáveis de sistema do conjunto de caracteres com a seguinte consulta:
SHOW VARIABLES LIKE 'character_set%';
Exemplo de resultado:
+--------------------------+----------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql/share/charsets/ | +--------------------------+----------------------------------+
Veja também:
- Como encontrar o agrupamento no MySQL
- Mostrar o agrupamento do servidor
- Mostrar o agrupamento de um banco de dados
- Mostrar o agrupamento de uma tabela
- Mostrar o agrupamento de uma coluna
- O que é agrupamento?