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
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