Tabla de contenidos
INFORMATION_SCHEMA     [+/-]INFORMATION_SCHEMA SCHEMATAINFORMATION_SCHEMA TABLESINFORMATION_SCHEMA COLUMNSINFORMATION_SCHEMA STATISTICSINFORMATION_SCHEMA USER_PRIVILEGESINFORMATION_SCHEMA SCHEMA_PRIVILEGESINFORMATION_SCHEMA TABLE_PRIVILEGESINFORMATION_SCHEMA COLUMN_PRIVILEGESINFORMATION_SCHEMA CHARACTER_SETSINFORMATION_SCHEMA COLLATIONSINFORMATION_SCHEMA
        COLLATION_CHARACTER_SET_APPLICABILITYINFORMATION_SCHEMA TABLE_CONSTRAINTSINFORMATION_SCHEMA KEY_COLUMN_USAGEINFORMATION_SCHEMA ROUTINESINFORMATION_SCHEMA VIEWSINFORMATION_SCHEMA TRIGGERSINFORMATION_SCHEMASHOW
    El soporte para INFORMATION_SCHEMA está
    disponible en MySQL 5.0.2 y posterior. Proporciona acceso a los
    metadatos de la base de datos.
  
Metadatos son datos acerca de los datos, tales como el nombre de la base de datos o tabla, el tipo de datos de una columna, o permisos de acceso. Otros términos que a veces se usan para esta información son diccionario de datos o catálogo del sistema .
Ejemplo:
mysql> SELECT table_name, table_type, engine
    -> FROM information_schema.tables
    -> WHERE table_schema = 'db5'
    -> ORDER BY table_name DESC;
+------------+------------+--------+
| table_name | table_type | engine |
+------------+------------+--------+
| v56        | VIEW       | NULL   |
| v3         | VIEW       | NULL   |
| v2         | VIEW       | NULL   |
| v          | VIEW       | NULL   |
| tables     | BASE TABLE | MyISAM |
| t7         | BASE TABLE | MyISAM |
| t3         | BASE TABLE | MyISAM |
| t2         | BASE TABLE | MyISAM |
| t          | BASE TABLE | MyISAM |
| pk         | BASE TABLE | InnoDB |
| loop       | BASE TABLE | MyISAM |
| kurs       | BASE TABLE | MyISAM |
| k          | BASE TABLE | MyISAM |
| into       | BASE TABLE | MyISAM |
| goto       | BASE TABLE | MyISAM |
| fk2        | BASE TABLE | InnoDB |
| fk         | BASE TABLE | InnoDB |
+------------+------------+--------+
17 rows in set (0.01 sec)
    Explicación: El comando pide una lista de todas las tablas en la
    base de datos db5, en orden alfabético inverso,
    mostrando tres informaciones: el nombre de la tabla, su tipo y su
    motor.
  
    INFORMATION_SCHEMA es la base de datos de
    información, que almacena información acerca de todas las otras
    bases de datos que mantiene el servidor MySQL . Dentro del
    INFORMATION_SCHEMA hay varias tablas de sólo
    lectura. En realidad son vistas, no tablas, así que no puede ver
    ningún fichero asociado con ellas.
  
Cada usuario MySQL tiene derecho a acceder a estas tablas, pero sólo a los registros que se corresponden a los objetos a los que tiene permiso de acceso.
    Ventajas de
    SELECT
  
    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í.
    Sin embargo, como SHOW es popular entre los
    empleados y usuarios de MySQL, y como puede ser confuso si
    desaparece, las ventajas de una sintaxis convencional no es razón
    para eliminar SHOW. De hecho, hay mejoras a
    SHOW en MySQL 5.0. Se describen en
    Sección 22.2, “Extensiones a las sentencias SHOW”.
  
Estandars
    La implementación de la estructura de tablas para el
    INFORMATION_SCHEMA en MySQL sigue el estándar
    ANSI/ISO SQL:2003 Parte 11 Schemata. Nuestra
    intención es aproximar el cumplimiento de SQL:2003 característica
    básica F021 Basic information schema.
  
    Los usuarios de SQL Server 2000 (que también sigue el estándar)
    pueden ver una gran similitud. Sin embargo, MySQL omite varias
    columnas no relevantes para nuestra implementación, y añade
    columnas que són específicas de MySQL. Una de estas columnas es
    engine en la tabla
    INFORMATION_SCHEMA.TABLES.
  
    Aunque otros DBMS usan una variedad de nombres, como syscat o
    system, el nombre estándar es
    INFORMATION_SCHEMA.
  
    En efecto, tenemos una nueva base de datos llamada
    INFORMATION_SCHEMA, aunque no hay necesidad de
    hacer un fichero llamado así. Es posible seleccionar
    INFORMATION_SCHEMA como base de datos por defecto
    con un comando USE , pero la única forma de
    acceder al contenido de sus tablas es con SELECT.
    No puede insertar, actualizar o borrar su contenido.
  
Permisos
    No hay diferencia entre el requerimiento de permisos para
    (SHOW) y para SELECT . En cada
    caso, debe tener algún permiso de un objeto para consultar
    información acerca de el mismo.
  
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

