sql >> Base de Datos >  >> RDS >> Mysql

Diferencia entre base de datos, tabla, colación de columnas

Los juegos de caracteres y las intercalaciones de MySQL se pueden interpretar como una lista de arriba hacia abajo de elementos priorizados. El de arriba es el de menor prioridad y el de abajo el de mayor prioridad.

Orden de precedencia siendo el más alto la menor precedencia:

  • Colección de servidores
  • Intercalación específica de la conexión
  • Recopilación de bases de datos
  • Cotejo de tablas
  • Recopilación de columnas
  • Cotejo de consultas (usando CAST o CONVERT )

La intercalación del servidor lo establece el servidor, que se establece dentro de my.cnf o cuando el servidor se construyó a partir del código fuente. De forma predeterminada, normalmente será latin1 o utf8 , dependiendo de su plataforma.

La intercalación específica de la conexión lo establece el cliente mediante una consulta como SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'; . La mayoría de los clientes no establecen una intercalación específica de la conexión, por lo que el servidor utilizará su propia configuración predeterminada, como se explicó anteriormente.

La colección de la base de datos se establece durante la creación de la base de datos, o manualmente actualizándola más tarde. Si no especifica uno, utilizará la siguiente intercalación de nivel superior, que sería la intercalación específica de la conexión o del servidor.

La colección de tablas es lo mismo que la intercalación de la base de datos, excepto que si se deja en blanco, usará la base de datos como predeterminada, luego específica de la conexión y finalmente la intercalación del servidor.

La columna intercalada usa la intercalación de la tabla como predeterminada, y si no hay una intercalación configurada, seguirá la cadena para encontrar una intercalación para usar, deteniéndose en el servidor si no se configuraron todas las demás.

La intercalación de consultas se especifica en la consulta usando CAST o CONVERT , pero de lo contrario utilizará la siguiente intercalación disponible en la cadena. No hay forma de configurar esto a menos que use una función.

Consulte también la página del manual Soporte de conjunto de caracteres .