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 SELECT
Recht 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_catalog
information_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;