sql >> Base de Datos >  >> RDS >> Mysql

4 formas de enumerar todas las vistas en MySQL

A continuación se muestran cuatro formas de enumerar las vistas en una base de datos MySQL mediante SQL o la línea de comandos.

Las SHOW TABLES Comando

El SHOW TABLES El comando enumera los elementos que no son TEMPORARY tablas, secuencias y vistas en una base de datos MySQL 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_music | Table_type |
+-----------------+------------+
| valbumsartists  | VIEW       |
| valbumsgenres   | VIEW       |
| vallalbums      | VIEW       |
| vallartists     | VIEW       |
| vallgenres      | VIEW       |
+-----------------+------------+

Omitir el WHERE cláusula devuelve todos los tipos:

SHOW FULL TABLES;

Resultado:

+-----------------+------------+
| Tables_in_music | Table_type |
+-----------------+------------+
| Albums          | BASE TABLE |
| Artists         | BASE TABLE |
| Genres          | BASE TABLE |
| valbumsartists  | VIEW       |
| valbumsgenres   | VIEW       |
| vallalbums      | VIEW       |
| vallartists     | VIEW       |
| vallgenres      | VIEW       |
+-----------------+------------+

El SHOW TABLE STATUS Comando

En MySQL, 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 |
+----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+--------------------+----------+----------------+---------+
| Albums         | InnoDB |      10 | Dynamic    |   20 |            819 |       16384 |               0 |        32768 |         0 |             21 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NULL       | utf8mb4_0900_ai_ci |     NULL |                |         |
| Artists        | InnoDB |      10 | Dynamic    |   16 |           1024 |       16384 |               0 |            0 |         0 |             17 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NULL       | utf8mb4_0900_ai_ci |     NULL |                |         |
| Genres         | InnoDB |      10 | Dynamic    |    8 |           2048 |       16384 |               0 |            0 |         0 |              9 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NULL       | utf8mb4_0900_ai_ci |     NULL |                |         |
| valbumsartists | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | 2021-11-15 06:02:24 | NULL                | NULL       | NULL               |     NULL | NULL           | VIEW    |
| valbumsgenres  | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | 2021-11-15 06:09:47 | NULL                | NULL       | NULL               |     NULL | NULL           | VIEW    |
| vallalbums     | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | 2021-11-15 06:12:51 | NULL                | NULL       | NULL               |     NULL | NULL           | VIEW    |
| vallartists    | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | 2021-11-15 06:13:02 | NULL                | NULL       | NULL               |     NULL | NULL           | VIEW    |
| vallgenres     | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | 2021-11-15 06:12:36 | NULL                | NULL       | NULL               |     NULL | NULL           | VIEW    |
+----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+--------------------+----------+----------------+---------+

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 'music' AND TABLE_TYPE LIKE 'VIEW';

Resultado:

+--------------+----------------+------------+
| TABLE_SCHEMA | TABLE_NAME     | TABLE_TYPE |
+--------------+----------------+------------+
| Music        | valbumsartists | VIEW       |
| Music        | valbumsgenres  | VIEW       |
| Music        | vallgenres     | VIEW       |
| Music        | vallalbums     | VIEW       |
| Music        | vallartists    | VIEW       |
+--------------+----------------+------------+

En este caso, devolví todas las vistas de la base de datos llamada music . 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 mysqlshow Cliente

Otra forma de hacerlo es con mysqlshow utilidad.

Para usar esta opción, abra una línea de comando/ventana de terminal y ejecute lo siguiente:

mysqlshow --user root --password music;

Asegúrate de reemplazar music con la base de datos que le interesa y root con el usuario aplicable. El --password bit hace que al usuario se le solicite la contraseña.

Resultado:

Enter password: 
Database: music
+----------------+
|     Tables     |
+----------------+
| Albums         |
| Artists        |
| Genres         |
| valbumsartists |
| valbumsgenres  |
| vallalbums     |
| vallartists    |
| vallgenres     |
+----------------+

El mysqlshow el cliente devuelve vistas y tablas.

La salida muestra solo los nombres de aquellas bases de datos, tablas o columnas para las que el usuario 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.