Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Visualizzazione TABLES

La vista INFORMATION_SCHEMA.TABLES contiene una riga per ogni tabella o vista in un set di dati. Le viste TABLES e TABLE_OPTIONS contengono anche informazioni di alto livello sulle viste. Per informazioni dettagliate, esegui una query sulla visualizzazione INFORMATION_SCHEMA.VIEWS.

Autorizzazioni obbligatorie

Per eseguire una query sulla vista INFORMATION_SCHEMA.TABLES, devi disporre delle seguenti autorizzazioni di gestione di identità e accessi (IAM):

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

Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni precedenti:

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

Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.

Schema

Quando esegui una query sulla vista INFORMATION_SCHEMA.TABLES, i risultati della query contengono una riga per ogni tabella o vista in un set di dati. Per informazioni dettagliate sulle viste, esegui una query sulla vista INFORMATION_SCHEMA.VIEWS.

La vista INFORMATION_SCHEMA.TABLES ha il seguente schema:

Nome colonna Tipo di dati Valore
table_catalog STRING L'ID del progetto che contiene il set di dati.
table_schema STRING Il nome del set di dati che contiene la tabella o la vista. Chiamato anche datasetId.
table_name STRING Il nome della tabella o della visualizzazione. Chiamato anche tableId.
table_type STRING Il tipo di tabella; uno dei seguenti:
is_insertable_into STRING YES o NO, a seconda che la tabella supporti le istruzioni DML INSERT
is_typed STRING Il valore è sempre NO
creation_time TIMESTAMP Ora di creazione della tabella
ddl STRING L'istruzione DDL che può essere utilizzata per ricreare la tabella, come CREATE TABLE o CREATE VIEW
clone_time TIMESTAMP Per i cloni di una tabella (anteprima), il momento in cui la tabella di base è stata clonata per creare questa tabella. Se è stato utilizzato il tempo di viaggio, questo campo contiene il timestamp relativo al viaggio nel tempo. In caso contrario, il campo clone_time è uguale al campo creation_time. Applicabile solo alle tabelle con table_type impostato su CLONE.
base_table_catalog STRING Per i cloni di una tabella (Anteprima), il progetto della tabella di base. Applicabile solo alle tabelle con table_type impostato su CLONE.
base_table_schema STRING Per i cloni di una tabella (Anteprima), il set di dati della tabella di base. Applicabile solo alle tabelle con table_type impostato su CLONE.
base_table_name STRING Per i cloni di tabella (Anteprima), il nome della tabella di base. Applicabile solo alle tabelle con table_type impostato su CLONE.
default_collation_name STRING Il nome della specifica di confronto predefinita se esistente; in caso contrario, NULL.

Ambito e sintassi

Le query rispetto a questa visualizzazione devono includere un set di dati o un qualificatore di area geografica. Per le query con un qualificatore di set di dati, devi disporre delle autorizzazioni per il set di dati. Per le query con un qualificatore di area geografica, devi disporre delle autorizzazioni per il progetto. Per ulteriori informazioni, consulta la sezione Sintassi. La tabella seguente illustra gli ambiti delle aree geografiche e delle risorse per questa visualizzazione:

Nome visualizzazione Ambito delle risorse Ambito per area geografica
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLES A livello di progetto REGION
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.TABLES Livello set di dati Località set di dati
Sostituisci quanto segue:

Esempio

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

Esempi

Esempio 1:

L'esempio seguente recupera i metadati della tabella per tutte le tabelle nel set di dati denominato mydataset. La query seleziona tutte le colonne dalla visualizzazione INFORMATION_SCHEMA.TABLES ad eccezione di is_typed, che è riservata all'utilizzo futuro. I metadati che sono stati restituiti sono relativi a tutti i tipi di tabelle in mydataset nel progetto predefinito.

mydataset contiene le seguenti tabelle:

  • mytable1: una tabella BigQuery standard
  • myview1: una vista BigQuery

Per eseguire la query su un progetto diverso da quello predefinito, aggiungi l'ID progetto al set di dati nel seguente formato: `project_id`.dataset.INFORMATION_SCHEMA.view, ad esempio `myproject`.mydataset.INFORMATION_SCHEMA.TABLES.

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

Il risultato è simile al seguente. Per una migliore leggibilità, alcune colonne sono escluse dal risultato.

+----------------+---------------+----------------+------------+--------------------+---------------------+---------------------------------------------+
| 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;                        |
+----------------+---------------+----------------+------------+--------------------+---------------------+---------------------------------------------+
Esempio 2:

L'esempio seguente recupera tutte le tabelle di tipo BASE TABLE dalla visualizzazione INFORMATION_SCHEMA.TABLES. La colonna is_typed è esclusa. I metadati restituiti servono per le tabelle in mydataset nel progetto predefinito.

Per eseguire la query su un progetto diverso da quello predefinito, aggiungi l'ID progetto al set di dati nel seguente formato: `project_id`.dataset.INFORMATION_SCHEMA.view, ad esempio `myproject`.mydataset.INFORMATION_SCHEMA.TABLES.

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

Il risultato è simile al seguente. Per una migliore leggibilità, alcune colonne sono escluse dal risultato.

  +----------------+---------------+----------------+------------+--------------------+---------------------+---------------------------------------------+
  | 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                                  |
  |                |               |                |            |                    |                     | );                                          |
  +----------------+---------------+----------------+------------+--------------------+---------------------+---------------------------------------------+
  

Esempio 3:

L'esempio seguente recupera le colonne table_name e ddl dalla visualizzazione INFORMATION_SCHEMA.TABLES per la tabella population_by_zip_2010 nel set di dati census_bureau_usa. Questo set di dati fa parte del programma del set di dati pubblico BigQuery.

Poiché la tabella su cui stai eseguendo le query si trova in un altro progetto, aggiungi l'ID progetto al set di dati nel seguente formato: `project_id`.dataset.INFORMATION_SCHEMA.view. In questo esempio, il valore è `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';

Il risultato è simile al seguente:

+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|       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", "")]                                                                                                                                                                                             |
|                        | );                                                                                                                                                                                                                         |
+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+