Die SHOW TABLES-Anweisung listet das Schema, den Tabellennamen, den Tabellentyp, den Besitzer und die geschätzte Zeilenzahl für die Tabellen oder Views in einem Schema oder einer Datenbank auf.
Während eine Tabelle oder Ansicht gelöscht wird, listet SHOW TABLES das Objekt mit einem (dropped) Suffix auf.
Synopse
Erforderliche Rechte
Das SELECTRecht auf eine Tabelle ist erforderlich, um sie mit SHOW TABLES aufzulisten.
Parameter
| Parameter | Beschreibung |
|---|---|
database_name |
Der Name der Datenbank, für die Tabellen angezeigt werden sollen. |
schema_name |
Der Name des Schemas, für das Tabellen angezeigt werden sollen. |
Wenn ein database_name und schema_name weggelassen wird, werden die Tabellen des aktuellen Schemas in der aktuellen Datenbank aufgelistet.
SHOW TABLES versucht zuerst, ein Schema mit dem angegebenen Namen zu finden. Wenn das fehlschlägt, versucht es stattdessen, eine Datenbank mit diesem Namen zu finden und listet die Tabellen ihres public Schemas auf. Weitere Details finden Sie unter Namensauflösung.
Beispiele
Setup
Die folgenden Beispiele verwenden MovR, eine fiktive Carsharing-Anwendung, um die SQL-Anweisungen von CockroachDB zu demonstrieren. Weitere Informationen über die MovR-Beispielanwendung und den MovR-Datensatz finden Sie unter MovR: A Global Vehicle-sharing App.
Um mitzumachen, führen Sie cockroach demo aus, um einen temporären In-Memory-Cluster mit dem movr-Datensatz vorgeladen zu starten:
$ cockroach demo
Tabellen in der aktuellen Datenbank anzeigen
SHOW TABLES verwendet das aktuelle Schema public, das standardmäßig in search_path eingestellt ist:
> SHOW TABLES;
schema_name | table_name | type | estimated_row_count--------------+----------------------------+-------+---------------------- public | promo_codes | table | 1000 public | rides | table | 500 public | user_promo_codes | table | 0 public | users | table | 50 public | vehicle_location_histories | table | 1000 public | vehicles | table | 15(6 rows)
Alternativ können Sie innerhalb der eingebauten SQL-Shell den \dt Shell-Befehl verwenden:
> \dt
schema_name | table_name | type | estimated_row_count--------------+----------------------------+-------+---------------------- public | promo_codes | table | 1000 public | rides | table | 500 public | user_promo_codes | table | 0 public | users | table | 50 public | vehicle_location_histories | table | 1000 public | vehicles | table | 15(6 rows)
Tabellen in einem anderen Schema anzeigen
Sie können die Tabellen in anderen Schemata als dem aktuellen Schema anzeigen. Sie können das Schema auch tabellenweise anzeigen:
> SHOW TABLES FROM movr.information_schema;
> SHOW TABLES FROM information_schema;
Weil movr die aktuelle Datenbank ist, geben diese Anweisungen die gleiche Ausgabe zurück:
schema_name | table_name | type | estimated_row_count---------------------+-----------------------------------+-------+---------------------- information_schema | administrable_role_authorizations | table | NULL information_schema | applicable_roles | table | NULL information_schema | check_constraints | table | NULL information_schema | column_privileges | table | NULL ...(23 rows)
Tabellen aus einer anderen Datenbank anzeigen
Sie können auch Tabellen aus einer anderen Datenbank anzeigen.
> SHOW TABLES FROM system.public;
> SHOW TABLES FROM system;
Da public das aktuelle Schema ist, geben diese Anweisungen die gleiche Ausgabe zurück:
schema_name | table_name | type | estimated_row_count--------------+---------------------------------+-------+---------------------- public | comments | table | NULL public | descriptor | table | NULL public | eventlog | table | NULL public | jobs | table | NULL ...(29 rows)
Sie können COMMENT ON verwenden, um Kommentare zu einer Tabelle hinzuzufügen.
> COMMENT ON TABLE users IS 'This table contains information about users.';
Um die Kommentare einer Tabelle anzuzeigen:
> SHOW TABLES FROM movr WITH COMMENT;
schema_name | table_name | type | estimated_row_count | comment--------------+----------------------------+-------+---------------------+----------------------------------------------- public | promo_codes | table | 1000 | public | rides | table | 500 | public | user_promo_codes | table | 0 | public | users | table | 50 | This table contains information about users. public | vehicle_location_histories | table | 1000 | public | vehicles | table | 15 |(6 rows)
Sie können die Kommentare zu einer Tabelle auch mit SHOW CREATE ansehen:
> SHOW CREATE TABLE users;
table_name | create_statement-------------+--------------------------------------------------------------------------- users | CREATE TABLE users ( | id UUID NOT NULL, | city VARCHAR NOT NULL, | name VARCHAR NULL, | address VARCHAR NULL, | credit_card VARCHAR NULL, | CONSTRAINT "primary" PRIMARY KEY (city ASC, id ASC), | FAMILY "primary" (id, city, name, address, credit_card) | ); | COMMENT ON TABLE users IS 'This table contains information about users.'(1 row)
Für weitere Informationen siehe COMMENT ON.
Die virtuellen Tabellen in den Schemas pg_cataloginformation_schema und crdb_internal enthalten nützliche Kommentare, oft mit Links zu weiterer Dokumentation.
Um virtuelle Tabellen mit Kommentaren und Links zur Dokumentation anzuzeigen, verwenden Sie SHOW TABLES FROM <virtual schema> WITH COMMENT:
> SHOW TABLES FROM information_schema WITH COMMENT;