SHOW TABLES
ステートメントは、スキーマやデータベース内のテーブルやビューの、スキーマ、テーブル名、テーブルタイプ、所有者、推定行数を一覧表示します。
テーブルやビューが削除されている間、SHOW TABLES
(dropped)
という接尾語を持つオブジェクトをリストアップします。
Synopsis
必要な権限
テーブルをSELECT
SHOW TABLES
権限が必要です。
パラメータ
パラメータ | 説明 |
---|---|
database_name |
テーブルを表示する対象のデータベース名です。 |
schema_name |
テーブルを表示するためのスキーマの名前。 |
database_name
schema_name
が省略された場合は、現在のデータベースの現在のスキーマのテーブルが表示されます。
SHOW TABLES
public
スキーマのテーブルをリストアップします。
Examples
Setup
以下の例では、架空の車両共有アプリケーションであるMovRを使って、CockroachDBのSQL文を実演しています。 MovRのサンプルアプリケーションとデータセットの詳細については、MovR: A Global Vehicle-sharing Appをご覧ください。
続きは、cockroach demo
movr
データセットをプリロードした一時的なインメモリクラスタを開始します。
$ cockroach demo
現在のデータベースのテーブルを表示する
。
SHOW TABLES
search_path
public
を使用しています。
> 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)
代わりに、組み込みのSQLシェル内で、\dt
シェルコマンドを使用することができます。
> \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)
別のスキーマのテーブルを表示する
現在のスキーマ以外のスキーマのテーブルを表示することができます。 また、テーブルごとにスキーマを表示することもできます。
> SHOW TABLES FROM movr.information_schema;
> SHOW TABLES FROM information_schema;
movr
が現在のデータベースであることから、以下のステートメントは同じ出力を返します。 これらのステートメントは同じ出力を返します。
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)
別のデータベースのテーブルを表示する
別のデータベースのテーブルを表示することもできます。
> SHOW TABLES FROM system.public;
> SHOW TABLES FROM system;
public
が現在のスキーマであることから、これらのステートメントは同じ出力を返します。 これらのステートメントは同じ出力を返します。
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)
COMMENT ON
を使って、テーブルにコメントを追加することができます。
> COMMENT ON TABLE users IS 'This table contains information about users.';
テーブルのコメントを表示するには。
> 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)
また、SHOW CREATE
でテーブルのコメントを表示することもできます。
> 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)
詳細については、COMMENT ON
をご覧ください。
pg_catalog
information_schema
crdb_internal
の各スキーマの仮想テーブルには有用なコメントが含まれており、しばしばさらなるドキュメントへのリンクがあります。
コメントやドキュメントへのリンクが付いた仮想テーブルを表示するには、SHOW TABLES FROM <virtual schema> WITH COMMENT
を使用します:
> SHOW TABLES FROM information_schema WITH COMMENT;