Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Diferença entre banco de dados, tabela, agrupamento de colunas


Os conjuntos de caracteres e agrupamentos do MySQL podem ser interpretados como uma lista de cima para baixo de itens priorizados. A mais alta é a menos prioritária e a mais baixa é a mais prioritária.

Ordem de precedência com a mais alta sendo a menor precedência:
  • Agrupamento de servidores
  • Agrupamento específico da conexão
  • Agrupamento de banco de dados
  • Agrupamento de tabelas
  • Agrupamento de colunas
  • Agrupamento de consultas (usando CAST ou CONVERT )

O agrupamento de servidores é definido pelo servidor, que é definido dentro de my.cnf ou quando o servidor foi construído a partir do código-fonte. Por padrão, geralmente será latin1 ou utf8 , dependendo da sua plataforma.

O agrupamento específico da conexão é definido pelo cliente usando uma consulta como SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'; . A maioria dos clientes não define um agrupamento específico de conexão, portanto, o servidor usará seu próprio padrão, conforme explicado acima.

O agrupamento de banco de dados é definido durante a criação do banco de dados ou manualmente, atualizando-o posteriormente. Se você não especificar um, ele usará o próximo agrupamento de nível superior, que seria o específico da conexão ou o agrupamento do servidor.

O agrupamento de tabelas é o mesmo que o agrupamento do banco de dados, exceto se deixado em branco, ele usará o banco de dados como padrão, depois específico da conexão e, finalmente, o agrupamento do servidor.

O agrupamento de colunas usa o agrupamento da tabela como seu padrão e, se não houver nenhum agrupamento definido, ele seguirá a cadeia para encontrar um agrupamento a ser usado, parando no servidor se todos os outros não estiverem configurados.

O agrupamento de consultas é especificado na consulta usando CAST ou CONVERT , mas, caso contrário, usará o próximo agrupamento disponível na cadeia. Não há como definir isso a menos que você use uma função.

Consulte também a página de manual Suporte a conjunto de caracteres .