visualizzazione COLUMNS

La vista INFORMATION_SCHEMA.COLUMNS contiene una riga per ogni colonna (campo) in una tabella.

Autorizzazioni obbligatorie

Per eseguire una query sulla vista INFORMATION_SCHEMA.COLUMNS, è necessario quanto segue Autorizzazioni IAM (Identity and Access Management):

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

Ciascuno dei seguenti ruoli IAM predefiniti include autorizzazioni:

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

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

Schema

Quando esegui una query sulla vista INFORMATION_SCHEMA.COLUMNS, i risultati della query contengono una riga per ogni colonna (campo) in una tabella.

La vista INFORMATION_SCHEMA.COLUMNS 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, chiamata anche datasetId
TABLE_NAME STRING Il nome della tabella o della vista indicato anche come tableId
COLUMN_NAME STRING Il nome della colonna
ORDINAL_POSITION INT64 L'offset indicizzato con 1 della colonna all'interno della tabella; se si tratta di uno pseudo colonna come _PARTITIONTIME o _PARTITIONDATE, il valore è NULL
IS_NULLABLE STRING YES o NO a seconda che la colonna consente NULL valori
DATA_TYPE STRING Il tipo di dati GoogleSQL della colonna
IS_GENERATED STRING Il valore è sempre NEVER
GENERATION_EXPRESSION STRING Il valore è sempre NULL
IS_STORED STRING Il valore è sempre NULL
IS_HIDDEN STRING YES o NO a seconda che la colonna sia una pseudocolonna come _PARTITIONTIME o _PARTITIONDATE
IS_UPDATABLE STRING Il valore è sempre NULL
IS_SYSTEM_DEFINED STRING YES o NO a seconda che la colonna sia una pseudocolonna come _PARTITIONTIME o _PARTITIONDATE
IS_PARTITIONING_COLUMN STRING YES o NO a seconda che la colonna sia una colonna di partizionamento
CLUSTERING_ORDINAL_POSITION INT64 L'offset indicizzato con 1 della colonna all'interno dello schema della tabella le colonne di clustering; il valore è NULL se la tabella non è un tabella in cluster
COLLATION_NAME STRING Il nome della specifica di confronto se esiste; altrimenti NULL

Se viene superato un valore STRING o ARRAY<STRING> la specifica delle regole di confronto viene restituita, se esistente; altrimenti Viene restituito NULL
COLUMN_DEFAULT STRING Il valore predefinito del parametro colonna, se esistente; altrimenti il valore è NULL
ROUNDING_MODE STRING La modalità di arrotondamento utilizzata per i valori scritti nel campo, se è il tipo è con parametri NUMERIC o BIGNUMERIC; altrimenti il valore è NULL

Ambito e sintassi

Le query su questa vista devono includere un set di dati o un qualificatore di regione. Per con un qualificatore del set di dati, devi disporre delle autorizzazioni per il set di dati. Per le query con un qualificatore della regione, devi disporre delle autorizzazioni per il progetto. Per maggiori informazioni per le informazioni, consulta Sintassi. La tabella seguente illustra gli ambiti delle risorse e delle regioni per questa vista:

Nome vista Ambito risorsa Ambito della regione
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.COLUMNS Livello di progetto REGION
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.COLUMNS Livello del set di dati Posizione del set di dati
Sostituisci quanto segue:

Esempio

L'esempio seguente recupera i metadati dall'INFORMATION_SCHEMA.COLUMNS per la tabella population_by_zip_2010 nel census_bureau_usa del set di dati. Questo set di dati fa parte di BigQuery programma set di dati pubblici.

Poiché la tabella su cui stai eseguendo query si trova in un altro progetto, bigquery-public-data, aggiungi l'ID progetto al set di dati nella seguente formato: `project_id`.dataset.INFORMATION_SCHEMA.view; ad esempio `bigquery-public-data`.census_bureau_usa.INFORMATION_SCHEMA.TABLES.

Le seguenti colonne sono escluse dai risultati della query perché sono attualmente riservati per uso futuro:

  • IS_GENERATED
  • GENERATION_EXPRESSION
  • IS_STORED
  • IS_UPDATABLE
  SELECT
    * EXCEPT(is_generated, generation_expression, is_stored, is_updatable)
  FROM
    `bigquery-public-data`.census_bureau_usa.INFORMATION_SCHEMA.COLUMNS
  WHERE
    table_name = 'population_by_zip_2010';

Il risultato è simile al seguente. Per migliorare la leggibilità, alcune colonne escluse dal risultato.

+------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+
|       table_name       | column_name | ordinal_position | is_nullable | data_type | is_hidden | is_system_defined | is_partitioning_column | clustering_ordinal_position |
+------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+
| population_by_zip_2010 | zipcode     |                1 | NO          | STRING    | NO        | NO                | NO                     |                        NULL |
| population_by_zip_2010 | geo_id      |                2 | YES         | STRING    | NO        | NO                | NO                     |                        NULL |
| population_by_zip_2010 | minimum_age |                3 | YES         | INT64     | NO        | NO                | NO                     |                        NULL |
| population_by_zip_2010 | maximum_age |                4 | YES         | INT64     | NO        | NO                | NO                     |                        NULL |
| population_by_zip_2010 | gender      |                5 | YES         | STRING    | NO        | NO                | NO                     |                        NULL |
| population_by_zip_2010 | population  |                6 | YES         | INT64     | NO        | NO                | NO                     |                        NULL |
+------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+