The SHOW TABLES
statement lists the schema, table name, table type, owner, and estimated row count for the tables or views in a schema or database.
Enquanto uma tabela ou vista está a ser abandonada, SHOW TABLES
listará o objecto com um sufixo (dropped)
.
Synopsis
Prerrogativas requeridas
O SELECT
privilégio numa tabela é requerido para o listar com SHOW TABLES
.
Parametros
Parametros | Descrição |
---|---|
database_name |
O nome da base de dados para a qual mostrar tabelas. |
schema_name |
O nome do esquema para o qual mostrar as tabelas. |
Quando a database_name
e schema_name
são omitidas, as tabelas do esquema actual na base de dados actual são listadas.
SHOW TABLES
tentará encontrar primeiro um esquema com o nome especificado. Se isso falhar, tentará encontrar uma base de dados com esse nome, e listará as tabelas do seu public
schema. Para mais detalhes, ver Resolução de Nome.
Exemplos
Setup
Os exemplos seguintes usam MovR, uma aplicação fictícia de partilha de veículos, para demonstrar declarações SQL CockroachDB. Para mais informações sobre a aplicação MovR de exemplo e conjunto de dados, ver MovR: A Global Vehicle-sharing App.
Para seguir, correr cockroach demo
para iniciar um conjunto de dados temporário, em memória, com o movr
pré-carregado:
$ cockroach demo
Mostrar tabelas na base de dados actual
SHOW TABLES
utiliza o esquema actual public
definido por defeito em search_path
:
> 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)
Alternativamente, dentro da shell SQL incorporada, pode usar o comando \dt
shell:
> \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)
Mostrar tabelas num esquema diferente
P>Pode mostrar as tabelas em esquemas diferentes do esquema actual. Também se pode mostrar o esquema por tabela:
> SHOW TABLES FROM movr.information_schema;
> SHOW TABLES FROM information_schema;
Porque movr
é a base de dados actual, estas declarações devolvem o mesmo resultado:
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)
Mostrar tabelas numa base de dados diferente
P>Tambem se pode mostrar tabelas de uma base de dados diferente.
> SHOW TABLES FROM system.public;
> SHOW TABLES FROM system;
Porque public
é o esquema actual, estas declarações devolvem o mesmo resultado:
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)
P>Pode usar COMMENT ON
para adicionar comentários a uma tabela.
> COMMENT ON TABLE users IS 'This table contains information about users.';
Para ver os comentários de uma tabela:
> 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)
Também pode ver comentários sobre uma tabela com 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)
Para mais informações, ver COMMENT ON
.
As tabelas virtuais no pg_catalog
information_schema
, e crdb_internal
os esquemas contêm comentários úteis, muitas vezes com links para mais documentação.
Para visualizar tabelas virtuais com comentários e ligações a documentação, use SHOW TABLES FROM <virtual schema> WITH COMMENT
:
> SHOW TABLES FROM information_schema WITH COMMENT;