Im Folgenden finden Sie vier Möglichkeiten, die Ansichten in einer MariaDB-Datenbank mit SQL oder der Befehlszeile aufzulisten.
Die SHOW TABLES
Befehl
Die SHOW TABLES
Befehl listet die Nicht-TEMPORARY
auf Tabellen, Sequenzen und Ansichten in einer bestimmten 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:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | vownercount | VIEW | | vpetcount | VIEW | | vpetsowners | VIEW | | vpetstypes | VIEW | | vpettypecount | VIEW | +--------------------+------------+
Weglassen des WHERE
-Klausel gibt alle Typen zurück:
SHOW FULL TABLES;
Ergebnis:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | Owners | BASE TABLE | | PetTypes | BASE TABLE | | Pets | BASE TABLE | | vownercount | VIEW | | vpetcount | VIEW | | vpetsowners | VIEW | | vpetstypes | VIEW | | vpettypecount | VIEW | +--------------------+------------+
Der SHOW TABLE STATUS
Befehl
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 | 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 | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
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 'pethouse' AND TABLE_TYPE LIKE 'VIEW';
Ergebnis:
+--------------+---------------+------------+ | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | +--------------+---------------+------------+ | PetHouse | vpettypecount | VIEW | | PetHouse | vpetstypes | VIEW | | PetHouse | vownercount | VIEW | | PetHouse | vpetcount | VIEW | | PetHouse | vpetsowners | VIEW | +--------------+---------------+------------+
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 mariadb-show
Kunde
Eine andere Möglichkeit ist die mariadb-show
Nützlichkeit.
Um diese Option zu verwenden, öffnen Sie eine Eingabeaufforderung/ein Terminalfenster und führen Sie Folgendes aus (ersetzen Sie dabei pethouse
mit der Datenbank, an der Sie interessiert sind):
mariadb-show pethouse;
Ergebnis:
+---------------+ | Tables | +---------------+ | Owners | | PetTypes | | Pets | | vownercount | | vpetcount | | vpetsowners | | vpetstypes | | vpettypecount | +---------------+
Dies gibt Ansichten und Tabellen zurück.
Die Ausgabe zeigt nur die Namen der Datenbanken, Tabellen oder Spalten an, für die Sie einige Berechtigungen haben.
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.
Der Client kann auch als mysqlshow
ausgeführt werden :
mysqlshow pethouse;
Dieses Dienstprogramm akzeptiert einige Optionen, wie zum Beispiel --user
(damit Sie den Benutzernamen übergeben können), --password
(damit Sie das Passwort weitergeben können) usw.
Eine vollständige Liste der Optionen finden Sie in der MariaDB-Dokumentation.