Mysql
 sql >> Datenbank >  >> RDS >> Mysql

4 Möglichkeiten, alle Ansichten in MySQL aufzulisten

Nachfolgend finden Sie vier Möglichkeiten, die Ansichten in einer MySQL-Datenbank mit SQL oder der Befehlszeile aufzulisten.

Die SHOW TABLES Befehl

Die SHOW TABLES Befehl listet die Nicht-TEMPORARY auf Tabellen, Sequenzen und Views in einer gegebenen MySQL-Datenbank. Wir können das WHERE verwenden Klausel, um sie auf nur Ansichten einzuschränken.

Wir können auch den FULL verwenden Modifikator, um eine zweite Spalte zurückzugeben, die den Typ anzeigt:

SHOW FULL TABLES
WHERE Table_Type LIKE 'VIEW'; 

Ergebnis:

+------------+------------+| Tabellen_in_Musik | Tabellentyp |+------------+------------+| Albumkünstler | ANSICHT || valbumsgenres | ANSICHT || Wandalben | ANSICHT || valartisten | ANSICHT || valgenres | ANSICHT |+------------+------------+

Weglassen des WHERE -Klausel gibt alle Typen zurück:

SHOW FULL TABLES; 

Ergebnis:

+------------+------------+| Tabellen_in_Musik | Tabellentyp |+------------+------------+| Alben | BASISTISCH || Künstler | BASISTISCH || Genres | BASISTISCH || Albumkünstler | ANSICHT || valbumsgenres | ANSICHT || Wandalben | ANSICHT || valartisten | ANSICHT || valgenres | ANSICHT |+------------+------------+

Der SHOW TABLE STATUS Befehl

In MySQL der SHOW TABLE STATUS Der Befehl ähnelt dem SHOW TABLES Befehl, bietet aber ausführlichere Informationen zu jedem (nicht-TEMPORARY )-Tabelle.

Beispiel:

SHOW TABLE STATUS; 

Ergebnis:

+----------------+--------+---------+---------- --+------+----------------+------------+--------- --------+-------------+-----------+-------------- --+---------------------+---------------------+--- ---------+--------------------+----------+-------- --------+---------+| Name | Motor | Ausführung | Zeilenformat | Zeilen | Avg_row_length | Datenlänge | Max_data_length | Indexlänge | Datenfrei | Auto_inkrement | Create_time | Aktualisierungszeit | Prüfzeit | Sortierung | Prüfsumme | Optionen_erstellen | Kommentar |+----------------+--------+---------+----------- -+------+-----------+-------------+---------- -------+-------------+-----------+--------------- -+---------------------+---------------------+---- --------+--------------------+----------+--------- -------+---------+| Alben | InnoDB | 10 | Dynamisch | 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 | | || Künstler | InnoDB | 10 | Dynamisch | 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 | Dynamisch | 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 | | || Albumkünstler | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:02:24 | NULL | NULL | NULL | NULL | NULL | ANSICHT || valbumsgenres | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:09:47 | NULL | NULL | NULL | NULL | NULL | ANSICHT || Wandalben | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:12:51 | NULL | NULL | NULL | NULL | NULL | ANSICHT || valartisten | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:13:02 | NULL | NULL | NULL | NULL | NULL | ANSICHT || valgenres | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:12:36 | NULL | NULL | NULL | NULL | NULL | ANSICHT |+----------------+--------+---------+----------- -+------+-----------+-------------+---------- -------+-------------+-----------+--------------- -+---------------------+---------------------+---- --------+--------------------+----------+--------- -------+---------+

Es akzeptiert auch ein WHERE und LIKE -Klausel, falls Sie die Ergebnisse eingrenzen möchten.

Die information_schema.TABLES Tabelle

Wir können auch die information_schema.TABLES abfragen Tabelle:

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

Ergebnis:

+--------------+----------------+------------+| TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE |+-------------+----------------+------------+| Musik | Albumkünstler | ANSICHT || Musik | valbumsgenres | ANSICHT || Musik | valgenres | ANSICHT || Musik | Wandalben | ANSICHT || Musik | valartisten | ANSICHT |+--------------+----------------+------------+ 

In diesem Fall habe ich alle Aufrufe aus der Datenbank mit dem Namen music zurückgegeben . Abfrage ohne Filterung der Ergebnisse nach TABLE_SCHEMA gibt Ansichten aus allen Datenbanken zurück. In ähnlicher Weise kann es abgefragt werden, ohne nach TABLE_TYPE zu filtern gibt alle Tabellentypen zurück.

Die mysqlshow Kunde

Eine andere Möglichkeit ist die Verwendung von mysqlshow Nützlichkeit.

Um diese Option zu verwenden, öffnen Sie eine Eingabeaufforderung/ein Terminalfenster und führen Sie Folgendes aus:

mysqlshow --user root --password music; 

Achten Sie darauf, music zu ersetzen mit der Datenbank, an der Sie interessiert sind, und root mit dem entsprechenden Benutzer. Das --password Bit führt dazu, dass der Benutzer nach dem Passwort gefragt wird.

Ergebnis:

Passwort eingeben:Datenbank:Musik+----------------+| Tabellen |+----------------+| Alben || Künstler || Genres || Albumkünstler || Albengenres || Wandalben || Wandkünstler || valgenres |+----------------+

Die mysqlshow Client gibt Ansichten und Tabellen zurück.

Die Ausgabe zeigt nur die Namen der Datenbanken, Tabellen oder Spalten an, für die der Benutzer einige Berechtigungen hat.

Wenn keine Datenbank angegeben ist, werden alle passenden Datenbanken angezeigt. Wenn keine Tabelle angegeben ist, werden alle passenden Tabellen in der Datenbank angezeigt. Wenn keine Spalte angegeben ist, werden alle passenden Spalten und Spaltentypen in der Tabelle angezeigt.