¿Por que hacer las consultas con SELECT y no con SHOW? (1/2)

metadatos


El comando SELECT ... FROM INFORMATION_SCHEMA es una forma más consistente de proporcionar acceso a la información proporcionada por los comandos SHOW que soporta MySQL (SHOW DATABASES, SHOW TABLES, y así). 

Usar SELECT tiene las siguientes ventajas, en comparación a SHOW:
  • Cumple las reglas de Codd. Esto es, todo acceso se hace por tabla.
  • Nadie necesita aprender una nueva sintaxis. Conocen cómo funciona SELECT , sólo necesitan aprender los nombres de los objetos.
  • El implementador no tiene que preocuparse de palabras clave.
  • Hay millones de variaciones de la salida, en lugar de sólo una. Esto proporciona flexibilidad a las aplicaciones con requerimientos cambiantes acerca de los metadatos que necesitan.
  • La migración es más fácil ya que todos los otros DBMS funcionan así.

Algunas extensiones de comandos SHOW acompañan la implementación de INFORMATION_SCHEMA:

  • SHOW puede usarse para obtener información acerca de la estructura de INFORMATION_SCHEMA mismo.
  • Varios comandos SHOW aceptan una cláusula WHERE que proporciona más flexibilidad al especificar qué registros mostrar.
Similarmente, SHOW TABLES puede usarse con INFORMATION_SCHEMA para obtener una lista de sus tablas:
SHOW TABLES FROM INFORMATION_SCHEMA; 

Varios comandos SHOW se han extendido para permitir cláusulas WHERE :
SHOW CHARACTER SET
SHOW COLLATION
SHOW COLUMNS
SHOW DATABASES
SHOW FUNCTION STATUS
SHOW KEYS
SHOW OPEN TABLES
SHOW PROCEDURE STATUS
SHOW STATUS
SHOW TABLE STATUS
SHOW TABLES
SHOW VARIABLES