Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Visualização de TABLES

A visualização INFORMATION_SCHEMA.TABLES contém uma linha para cada tabela ou visualização em um conjunto de dados. As visualizações TABLES e TABLE_OPTIONS também contêm informações de alto nível sobre visualizações. Para informações detalhadas, consulte a visualização INFORMATION_SCHEMA.VIEWS.

Permissões necessárias

Para consultar a visualização INFORMATION_SCHEMA.TABLES, você precisa das seguintes permissões de gerenciamento de identidade e acesso (IAM, na sigla em inglês):

  • bigquery.tables.get
  • bigquery.tables.list
  • bigquery.routines.get
  • bigquery.routines.list

Cada um dos seguintes papéis predefinidos do IAM inclui as permissões anteriores:

  • roles/bigquery.admin
  • roles/bigquery.dataViewer
  • roles/bigquery.metadataViewer

Para mais informações sobre as permissões do BigQuery, consulte Controle de acesso com o IAM.

Esquema

Os resultados das consultas na visualização INFORMATION_SCHEMA.TABLES contêm uma linha para cada tabela ou visualização do conjunto de dados. Para informações detalhadas sobre visualizações, consulte a visualização INFORMATION_SCHEMA.VIEWS.

A visualização INFORMATION_SCHEMA.TABLES tem o seguinte esquema:

Nome da coluna Tipo de dados Valor
table_catalog STRING O ID do projeto que contém o conjunto de dados.
table_schema STRING O nome do conjunto de dados que contém a tabela ou visualização, também conhecido como datasetId.
table_name STRING O nome da tabela ou visualização, também conhecido como tableId.
table_type STRING O tipo de tabela, que pode ser:
is_insertable_into STRING YES ou NO dependendo da compatibilidade da tabela com as instruções DML INSERT
is_typed STRING O valor sempre é NO.
creation_time TIMESTAMP O horário de criação da tabela
ddl STRING A instrução DDL que pode ser usada para recriar a tabela, como CREATE TABLE ou CREATE VIEW
clone_time TIMESTAMP Para clones de tabelas (visualização), a hora em que a tabela base foi clonada para criar a tabela. Se a viagem no tempo foi usada, esse campo vai conter o carimbo de data/hora da viagem. Caso contrário, o campo clone_time será igual ao campo creation_time. Aplicável apenas a tabelas com table_type definido como CLONE.
base_table_catalog STRING Para clones de tabelas (visualização), o projeto da tabela base. Aplicável apenas a tabelas com table_type definido como CLONE.
base_table_schema STRING Para clones de tabelas (visualização), o conjunto de dados da tabela base. Aplicável apenas a tabelas com table_type definido como CLONE.
base_table_name STRING Para clones de tabelas (visualização), o nome da tabela base. Aplicável apenas a tabelas com table_type definido como CLONE.
default_collation_name STRING Nome da especificação de compilação padrão, se houver. Caso contrário, NULL.

Escopo e sintaxe

As consultas nessa visualização precisam incluir um conjunto de dados ou um qualificador de região. Para consultas com um qualificador de conjunto de dados, é preciso ter permissões para o conjunto de dados. Para consultas com um qualificador de região, é preciso ter permissões para o projeto. Para mais informações, consulte Sintaxe. A tabela a seguir explica os escopos de região e recurso dessa visualização:

Nome da visualização Escopo do recurso Escopo da região
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLES Nível do projeto REGION
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.TABLES Nível do conjunto de dados Local do conjunto de dados
Substitua:

Exemplo

-- Returns metadata for tables in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.TABLES;

Examples

Exemplo 1:

O exemplo a seguir recupera metadados de tabela para todas as tabelas no conjunto de dados chamado mydataset. A consulta seleciona todas as colunas da visualização INFORMATION_SCHEMA.TABLES, exceto is_typed, que é reservada para uso futuro. Os metadados retornados são para todos os tipos de tabelas em mydataset no projeto padrão.

mydataset contém as seguintes tabelas:

  • mytable1: uma tabela padrão do BigQuery
  • myview1: uma visualização do BigQuery

Para executar a consulta em um projeto diferente do padrão, adicione o ID do projeto ao conjunto de dados no seguinte formato: `project_id`.dataset.INFORMATION_SCHEMA.view; por exemplo, `myproject`.mydataset.INFORMATION_SCHEMA.TABLES.

  SELECT
    * EXCEPT(is_typed)
  FROM
    mydataset.INFORMATION_SCHEMA.TABLES;

O resultado será semelhante ao seguinte. Para facilitar a leitura, algumas colunas são excluídas do resultado.

+----------------+---------------+----------------+------------+--------------------+---------------------+---------------------------------------------+
| table_catalog  | table_schema  |   table_name   | table_type | is_insertable_into |    creation_time    |                     ddl                     |
+----------------+---------------+----------------+------------+--------------------+---------------------+---------------------------------------------+
| myproject      | mydataset     | mytable1       | BASE TABLE | YES                | 2018-10-29 20:34:44 | CREATE TABLE `myproject.mydataset.mytable1` |
|                |               |                |            |                    |                     | (                                           |
|                |               |                |            |                    |                     |   id INT64                                  |
|                |               |                |            |                    |                     | );                                          |
| myproject      | mydataset     | myview1        | VIEW       | NO                 | 2018-12-29 00:19:20 | CREATE VIEW `myproject.mydataset.myview1`   |
|                |               |                |            |                    |                     | AS SELECT 100 as id;                        |
+----------------+---------------+----------------+------------+--------------------+---------------------+---------------------------------------------+
Exemplo 2:

O exemplo a seguir recupera todas as tabelas do tipo BASE TABLE da visualização INFORMATION_SCHEMA.TABLES. A coluna is_typed é excluída. Os metadados retornados são para tabelas em mydataset no projeto padrão.

Para executar a consulta em um projeto diferente do padrão, adicione o ID do projeto ao conjunto de dados no seguinte formato: `project_id`.dataset.INFORMATION_SCHEMA.view; por exemplo, `myproject`.mydataset.INFORMATION_SCHEMA.TABLES.

  SELECT
    * EXCEPT(is_typed)
  FROM
    mydataset.INFORMATION_SCHEMA.TABLES
  WHERE
    table_type = 'BASE TABLE';

O resultado será semelhante ao seguinte. Para facilitar a leitura, algumas colunas são excluídas do resultado.

  +----------------+---------------+----------------+------------+--------------------+---------------------+---------------------------------------------+
  | table_catalog  | table_schema  |   table_name   | table_type | is_insertable_into |    creation_time    |                     ddl                     |
  +----------------+---------------+----------------+------------+--------------------+---------------------+---------------------------------------------+
  | myproject      | mydataset     | mytable1       | BASE TABLE | YES                | 2018-10-31 22:40:05 | CREATE TABLE myproject.mydataset.mytable1 |
  |                |               |                |            |                    |                     | (                                           |
  |                |               |                |            |                    |                     |   id INT64                                  |
  |                |               |                |            |                    |                     | );                                          |
  +----------------+---------------+----------------+------------+--------------------+---------------------+---------------------------------------------+
  

Exemplo 3:

O exemplo a seguir recupera colunas table_name e ddl da visualização INFORMATION_SCHEMA.TABLES para a tabela population_by_zip_2010 no conjunto de dados census_bureau_usa. Esse conjunto de dados faz parte do programa de conjunto de dados públicos do BigQuery.

Como a tabela que você está consultando está em outro projeto, adicione o ID do projeto ao conjunto de dados no seguinte formato: `project_id`.dataset.INFORMATION_SCHEMA.view. Neste exemplo, o valor é `bigquery-public-data`.census_bureau_usa.INFORMATION_SCHEMA.TABLES.

SELECT
  table_name, ddl
FROM
  `bigquery-public-data`.census_bureau_usa.INFORMATION_SCHEMA.TABLES
WHERE
  table_name = 'population_by_zip_2010';

O resultado será semelhante ao seguinte:

+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|       table_name       |                                                                                                            ddl                                                                                                             |
+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| population_by_zip_2010 | CREATE TABLE `bigquery-public-data.census_bureau_usa.population_by_zip_2010`                                                                                                                                               |
|                        | (                                                                                                                                                                                                                          |
|                        |   geo_id STRING OPTIONS(description="Geo code"),                                                                                                                                                                           |
|                        |   zipcode STRING NOT NULL OPTIONS(description="Five digit ZIP Code Tabulation Area Census Code"),                                                                                                                          |
|                        |   population INT64 OPTIONS(description="The total count of the population for this segment."),                                                                                                                             |
|                        |   minimum_age INT64 OPTIONS(description="The minimum age in the age range. If null, this indicates the row as a total for male, female, or overall population."),                                                          |
|                        |   maximum_age INT64 OPTIONS(description="The maximum age in the age range. If null, this indicates the row as having no maximum (such as 85 and over) or the row is a total of the male, female, or overall population."), |
|                        |   gender STRING OPTIONS(description="male or female. If empty, the row is a total population summary.")                                                                                                                    |
|                        | )                                                                                                                                                                                                                          |
|                        | OPTIONS(                                                                                                                                                                                                                   |
|                        |   labels=[("freebqcovid", "")]                                                                                                                                                                                             |
|                        | );                                                                                                                                                                                                                         |
+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+