MariaDB
 sql >> Database >  >> RDS >> MariaDB

4 modi per elencare tutte le viste in un database MariaDB

Di seguito sono riportati quattro modi per elencare le viste in un database MariaDB utilizzando SQL o la riga di comando.

Gli SHOW TABLES Comando

Il SHOW TABLES il comando elenca il non-TEMPORARY tabelle, sequenze e viste in un determinato database. Possiamo usare il WHERE clausola per restringerla alle sole visualizzazioni.

Possiamo anche usare il FULL modificatore per restituire una seconda colonna che mostra il tipo:

SHOW FULL TABLES 
WHERE Table_Type LIKE 'VIEW';

Risultato:

+--------------------+------------+
| Tables_in_pethouse | Table_type |
+--------------------+------------+
| vownercount        | VIEW       |
| vpetcount          | VIEW       |
| vpetsowners        | VIEW       |
| vpetstypes         | VIEW       |
| vpettypecount      | VIEW       |
+--------------------+------------+

Omettendo il WHERE la clausola restituisce tutti i tipi:

SHOW FULL TABLES;

Risultato:

+--------------------+------------+
| Tables_in_pethouse | Table_type |
+--------------------+------------+
| Owners             | BASE TABLE |
| PetTypes           | BASE TABLE |
| Pets               | BASE TABLE |
| vownercount        | VIEW       |
| vpetcount          | VIEW       |
| vpetsowners        | VIEW       |
| vpetstypes         | VIEW       |
| vpettypecount      | VIEW       |
+--------------------+------------+

Lo SHOW TABLE STATUS Comando

Lo SHOW TABLE STATUS il comando è simile a SHOW TABLES comando ma fornisce informazioni più estese su ciascuno (non-TEMPORARY ) tabella.

Esempio:

SHOW TABLE STATUS;

Risultato:

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

Accetta anche un WHERE e LIKE clausola nel caso in cui desideri restringere i risultati.

Il information_schema.TABLES Tabella

Possiamo anche interrogare il information_schema.TABLES tabella:

SELECT 
    TABLE_SCHEMA, 
    TABLE_NAME,
    TABLE_TYPE
FROM 
    information_schema.TABLES 
WHERE 
    TABLE_SCHEMA LIKE 'pethouse' AND TABLE_TYPE LIKE 'VIEW';

Risultato:

+--------------+---------------+------------+
| TABLE_SCHEMA | TABLE_NAME    | TABLE_TYPE |
+--------------+---------------+------------+
| PetHouse     | vpettypecount | VIEW       |
| PetHouse     | vpetstypes    | VIEW       |
| PetHouse     | vownercount   | VIEW       |
| PetHouse     | vpetcount     | VIEW       |
| PetHouse     | vpetsowners   | VIEW       |
+--------------+---------------+------------+

Interrogazione senza filtrare i risultati per TABLE_SCHEMA restituisce visualizzazioni da tutti i database. Allo stesso modo, interrogandolo senza filtrare per TABLE_TYPE restituisce tutti i tipi di tabella.

Il mariadb-show Cliente

Un altro modo per farlo è con mariadb-show utilità.

Per utilizzare questa opzione, apri un prompt della riga di comando/una finestra del terminale ed esegui quanto segue (sostituendo pethouse con il database che ti interessa):

mariadb-show pethouse;

Risultato:

+---------------+
|    Tables     |
+---------------+
| Owners        |
| PetTypes      |
| Pets          |
| vownercount   |
| vpetcount     |
| vpetsowners   |
| vpetstypes    |
| vpettypecount |
+---------------+

Ciò restituisce viste e tabelle.

L'output mostra solo i nomi di quei database, tabelle o colonne per i quali disponi di alcuni privilegi.

Se non viene fornito alcun database, vengono visualizzati tutti i database corrispondenti. Se non viene fornita alcuna tabella, vengono visualizzate tutte le tabelle corrispondenti nel database. Se non viene fornita alcuna colonna, vengono visualizzate tutte le colonne e i tipi di colonna corrispondenti nella tabella.

Il client può anche essere eseguito come mysqlshow :

mysqlshow pethouse;

Questa utility accetta alcune opzioni, come --user (in modo da poter passare il nome utente), --password (in modo da poter passare la password), ecc.

Consulta la documentazione di MariaDB per un elenco completo delle opzioni.