FAMILIA DE COMANDOS SHOW EN MYSQL Y MARIADB

En el post information_schema comentaba la información que se puede obtener de una base de datos en concreto.
El comando SHOW es una herramienta fundamental orientada a la inspección y exploración del sistema. Su propósito principal es permitir al usuario obtener información sobre la estructura interna, configuración y estado del servidor de bases de datos de forma rápida y directa.
Una de sus características más importantes es su simplicidad y legibilidad. Los comandos SHOW están diseñados para ser intuitivos (por ejemplo, SHOW TABLES o SHOW DATABASES), lo que facilita tanto el aprendizaje como el trabajo diario de administradores y desarrolladores. Además, su ejecución suele ser muy eficiente, ya que MySQL obtiene esta información directamente de estructuras internas optimizadas.

Usos frecuentes de SHOW

  • Explorar entornos desconocidos, como cuando accedes a un servidor por primera vez.
  • Verificar estructuras, por ejemplo antes de modificar una tabla.
  • Auditar configuraciones y permisos, especialmente en tareas de administración.
  • Diagnosticar problemas, revisando estado del servidor o procesos activos.
Muchas de las funcionalidades de SHOW también pueden lograrse consultando tablas del esquema INFORMATION_SCHEMA, SHOW sigue siendo la opción preferida en la mayoría de los casos por su rapidez, claridad y conveniencia.

Familia de comandos SHOW en MySQL y MariaDB

  • Información de bases de datos
    • SHOW DATABASES; Lista todas las bases de datos disponibles.
    • SHOW CREATE DATABASE nombre_bd; Muestra el CREATE DATABASE exacto con el que se creó.
  • Tablas
    • SHOW TABLES; Lista tablas de la base de datos actual.
    • SHOW FULL TABLES; Incluye si son BASE TABLE o VIEW.
    • SHOW CREATE TABLE nombre_tabla; Muestra el CREATE TABLE completo (muy útil para replicar estructuras).
    • SHOW TABLE STATUS; Información detallada: motor, tamaño, filas estimadas, etc.
  • Columnas
    • SHOW COLUMNS FROM nombre_tabla; (o SHOW FIELDS FROM) Lista columnas con tipo, nullability, clave, etc.
    • SHOW FULL COLUMNS FROM nombre_tabla; Incluye collation, comentarios, privilegios.
  • Vistas
    • SHOW FULL TABLES WHERE TABLE_TYPE = 'VIEW'; Lista vistas.
    • SHOW CREATE VIEW nombre_vista; Muestra cómo está definida la vista.
  • Índices
    • SHOW INDEX FROM nombre_tabla; (o SHOW KEYS) Muestra índices, cardinalidad, unicidad, etc.
  • Usuarios y privilegios
    • SHOW GRANTS FOR 'usuario'@'host';Permisos de un usuario.
    • SHOW CREATE USER 'usuario'@'host'; Cómo fue creado el usuario.
  • Variables del servidor
    • SHOW VARIABLES; Todas las variables de configuración.
    • SHOW GLOBAL VARIABLES; Variables globales.
    • SHOW SESSION VARIABLES; Variables de la sesión actual.
    • Se puede filtrar: SHOW VARIABLES LIKE 'max_connections';
  • Estado del servidor
    • SHOW STATUS; Estadísticas del servidor.
    • SHOW GLOBAL STATUS; A nivel global.
    • SHOW SESSION STATUS; De la conexión.
  • Procesos
    • SHOW PROCESSLIST; Muestra conexiones activas.
    • SHOW FULL PROCESSLIST; Incluye queries completas.
  • Motores de almacenamiento
    • SHOW ENGINES; Motores disponibles (InnoDB, MyISAM, etc.).
  • Triggers, procedimientos y eventos
    • SHOW TRIGGERS;
    • SHOW PROCEDURE STATUS;
    • SHOW FUNCTION STATUS;
    • SHOW EVENTS;
  • Caracteres y collation
    • SHOW CHARACTER SET;
    • SHOW COLLATION;