A continuación se muestran cuatro formas de enumerar las vistas en una base de datos MariaDB mediante SQL o la línea de comandos.
El SHOW TABLES
Comando
El SHOW TABLES
El comando enumera los elementos que no son TEMPORARY
tablas, secuencias y vistas en una base de datos determinada. Podemos usar el WHERE
cláusula para limitarlo a solo vistas.
También podemos usar el FULL
modificador para devolver una segunda columna que muestra el tipo:
SHOW FULL TABLES
WHERE Table_Type LIKE 'VIEW';
Resultado:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | vownercount | VIEW | | vpetcount | VIEW | | vpetsowners | VIEW | | vpetstypes | VIEW | | vpettypecount | VIEW | +--------------------+------------+
Omitir el WHERE
cláusula devuelve todos los tipos:
SHOW FULL TABLES;
Resultado:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | Owners | BASE TABLE | | PetTypes | BASE TABLE | | Pets | BASE TABLE | | vownercount | VIEW | | vpetcount | VIEW | | vpetsowners | VIEW | | vpetstypes | VIEW | | vpettypecount | VIEW | +--------------------+------------+
El SHOW TABLE STATUS
Comando
El SHOW TABLE STATUS
El comando es similar a SHOW TABLES
pero proporciona información más extensa sobre cada uno (no TEMPORARY
) tabla.
Ejemplo:
SHOW TABLE STATUS;
Resultado:
+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | Max_index_length | Temporary | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+ | Owners | InnoDB | 10 | Dynamic | 6 | 2730 | 16384 | 0 | 0 | 0 | NULL | 2021-03-30 09:10:36 | NULL | NULL | utf8mb4_general_ci | NULL | | | 0 | N | | PetTypes | InnoDB | 10 | Dynamic | 4 | 4096 | 16384 | 0 | 0 | 0 | NULL | 2021-03-30 09:10:36 | NULL | NULL | utf8mb4_general_ci | NULL | | | 0 | N | | Pets | InnoDB | 10 | Dynamic | 8 | 2048 | 16384 | 0 | 32768 | 0 | NULL | 2021-04-01 15:42:43 | NULL | NULL | utf8mb4_general_ci | NULL | | | 0 | N | | vownercount | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW | NULL | NULL | | vpetcount | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW | NULL | NULL | | vpetsowners | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW | NULL | NULL | | vpetstypes | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW | NULL | NULL | | vpettypecount | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW | NULL | NULL | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
También acepta un WHERE
y LIKE
cláusula en caso de que desee limitar los resultados.
El information_schema.TABLES
Mesa
También podemos consultar el information_schema.TABLES
tabla:
SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'pethouse' AND TABLE_TYPE LIKE 'VIEW';
Resultado:
+--------------+---------------+------------+ | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | +--------------+---------------+------------+ | PetHouse | vpettypecount | VIEW | | PetHouse | vpetstypes | VIEW | | PetHouse | vownercount | VIEW | | PetHouse | vpetcount | VIEW | | PetHouse | vpetsowners | VIEW | +--------------+---------------+------------+
Consultando esto sin filtrar los resultados por TABLE_SCHEMA
devuelve vistas de todas las bases de datos. Del mismo modo, consultarlo sin filtrar por TABLE_TYPE
devuelve todos los tipos de tablas.
El mariadb-show
Cliente
Otra forma de hacerlo es con mariadb-show
utilidad.
Para usar esta opción, abra una línea de comando/ventana de terminal y ejecute lo siguiente (reemplazando pethouse
con la base de datos que le interesa):
mariadb-show pethouse;
Resultado:
+---------------+ | Tables | +---------------+ | Owners | | PetTypes | | Pets | | vownercount | | vpetcount | | vpetsowners | | vpetstypes | | vpettypecount | +---------------+
Esto devuelve vistas y tablas.
La salida muestra solo los nombres de esas bases de datos, tablas o columnas para las que tiene algunos privilegios.
Si no se proporciona ninguna base de datos, se muestran todas las bases de datos coincidentes. Si no se proporciona ninguna tabla, se muestran todas las tablas coincidentes en la base de datos. Si no se proporciona ninguna columna, se muestran todas las columnas y tipos de columnas coincidentes en la tabla.
El cliente también se puede ejecutar como mysqlshow
:
mysqlshow pethouse;
Esta utilidad acepta bastantes opciones, como --user
(para que pueda pasar el nombre de usuario), --password
(para que pueda pasar la contraseña), etc.
Consulte la documentación de MariaDB para obtener una lista completa de opciones.