Vista COLUMNS
La vista INFORMATION_SCHEMA.COLUMNS contiene una riga per ogni colonna (campo) di una tabella.
Autorizzazioni obbligatorie
Per eseguire query sulla vista INFORMATION_SCHEMA.COLUMNS, devi disporre delle seguenti autorizzazioni Identity and Access Management (IAM):
bigquery.tables.getbigquery.tables.list
Ognuno dei seguenti ruoli IAM predefiniti include le autorizzazioni precedenti:
roles/bigquery.adminroles/bigquery.dataViewerroles/bigquery.dataEditorroles/bigquery.metadataViewer
Per saperne di più sulle autorizzazioni di 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) di una tabella.
La vista INFORMATION_SCHEMA.COLUMNS ha il seguente schema:
| Nome colonna | Tipo di dati | Valore |
|---|---|---|
table_catalog |
STRING |
L'ID progetto del progetto che contiene il set di dati. |
table_schema |
STRING |
Il nome del set di dati che contiene la tabella, noto anche come datasetId. |
table_name |
STRING |
Il nome della tabella o della vista, noto anche come tableId. |
column_name |
STRING |
Il nome della colonna. |
ordinal_position |
INT64 |
L'offset indicizzato a partire da 1 della colonna all'interno della tabella; se si tratta di una pseudo colonna come _PARTITIONTIME o _PARTITIONDATE, il valore è NULL. |
is_nullable |
STRING |
YES o NO a seconda che la modalità della colonna consenta o meno i valori NULL. |
data_type |
STRING |
Il tipo di dati GoogleSQL della colonna. |
is_generated |
STRING |
Il valore è ALWAYS se la colonna è una
colonna di embedding
generata automaticamente;
altrimenti, il valore è NEVER. |
generation_expression |
STRING |
Il valore è l'espressione di generazione utilizzata per definire la colonna se si tratta di una colonna di embedding generata automaticamente; altrimenti il valore è NULL. |
is_stored |
STRING |
Il valore è YES se la colonna è una colonna di embedding generata automaticamente; in caso contrario, il valore è NULL. |
async_generation_status |
STRUCT |
Contiene errori di blocco per i job di generazione di embedding in background se la colonna è una colonna di embedding generata automaticamente; in caso contrario, il valore è NULL. Per informazioni sugli errori di blocco, consulta il campo async_generation_status.blocking_error.message.
Gli errori di blocco possono includere:
async_generation_status viene cancellata.
|
is_hidden |
STRING |
YES o NO a seconda che la colonna sia una pseudo-colonna 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 pseudo-colonna 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 a 1 della colonna all'interno delle colonne di clustering della tabella; il valore è NULL se la tabella non è una tabella in cluster. |
collation_name |
STRING |
Il nome della specifica di confronto, se esiste; altrimenti, NULL.Se viene passato un valore STRING o ARRAY<STRING>, viene restituita la specifica di confronto, se esiste; in caso contrario, viene restituito NULL.
|
column_default |
STRING |
Il valore predefinito della colonna, se esistente; in caso contrario, il valore è NULL.
|
rounding_mode |
STRING |
La modalità di arrotondamento utilizzata per i valori scritti nel campo se il tipo è un NUMERIC o BIGNUMERIC parametrizzato; in caso contrario, il valore è NULL.
|
data_policies.name |
STRING |
L'elenco delle policy dei dati collegate alla colonna per controllare l'accesso e il mascheramento. Questo campo è in anteprima. |
data_governance_tags |
ARRAY<STRUCT> |
L'elenco di tag di governance dei dati collegati alla colonna per controllare l'accesso e il mascheramento. Ogni STRUCT contiene i seguenti campi STRING:
STRUCT (o RECORD), i tag di governance dei dati collegati ai campi nidificati sono disponibili nella vista INFORMATION_SCHEMA.COLUMN_FIELD_PATHS.
|
policy_tags |
ARRAY<STRING> |
L'elenco dei tag di policy collegati alla colonna. |
is_identity |
STRING |
YES o NO a seconda che la colonna sia una colonna di identità.
|
identity_generation |
STRING |
ALWAYS o BY DEFAULT, a seconda della modalità di generazione della colonna di identità. Se la colonna non è una colonna di identità, il valore è NULL.
|
identity_start |
INT64 |
Il primo valore generato dalla colonna di identità o NULL se la colonna non è una colonna di identità.
|
identity_increment |
INT64 |
La differenza minima tra gli ID generati in successione per la colonna di identità o NULL se la colonna non è una colonna di identità.
|
identity_maximum |
INT64 |
Il valore massimo che può essere generato per la colonna di identità o NULL se la colonna non è una colonna di identità.
|
identity_minimum |
INT64 |
Il valore minimo che può essere generato per la colonna di identità o NULL se la colonna non è una colonna di identità.
|
identity_cycle |
STRING |
Se la colonna è una colonna di identità, questo valore è NEVER; in caso contrario, il valore è NULL.
|
Per garantire la stabilità, ti consigliamo di elencare esplicitamente le colonne nelle query dello schema di informazioni anziché utilizzare un carattere jolly (SELECT *). L'elenco esplicito delle colonne impedisce l'interruzione delle query se lo schema sottostante cambia.
Ambito e sintassi
Le query su questa vista devono includere un qualificatore del set di dati o della regione. Per le query con un qualificatore del set di dati, devi disporre delle autorizzazioni per il set di dati. Per le query con un qualificatore di regione, devi disporre delle autorizzazioni per il progetto. Per saperne di più, vedi Sintassi. La tabella seguente illustra gli ambiti delle regioni e delle risorse per questa visualizzazione:
| Nome vista | Ambito risorsa | Ambito della regione |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.COLUMNS |
Livello progetto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.COLUMNS |
Livello del set di dati | Posizione del set di dati |
-
(Facoltativo)
PROJECT_ID: l'ID del tuo progetto Google Cloud . Se non specificato, viene utilizzato il progetto predefinito. -
REGION: qualsiasi nome della regione del set di dati. Ad esempio:`region-us`. -
DATASET_ID: l'ID del set di dati. Per saperne di più, consulta Qualificatore del set di dati.
Esempio
L'esempio seguente recupera i metadati dalla vista INFORMATION_SCHEMA.COLUMNS per la tabella population_by_zip_2010 nel set di dati census_bureau_usa. Questo set di dati fa parte del programma per i set di dati pubblici di BigQuery.
Poiché la tabella su cui stai eseguendo la query si trova in un altro progetto, il progetto bigquery-public-data, aggiungi l'ID progetto al set di dati nel seguente formato: `project_id`.dataset.INFORMATION_SCHEMA.view; ad esempio, `bigquery-public-data`.census_bureau_usa.INFORMATION_SCHEMA.TABLES.
La seguente colonna è esclusa dai risultati della query:
IS_UPDATABLE
SELECT * EXCEPT(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 motivi di leggibilità, alcune colonne sono escluse dal risultato.
+------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+-------------+ | table_name | column_name | ordinal_position | is_nullable | data_type | is_hidden | is_system_defined | is_partitioning_column | clustering_ordinal_position | policy_tags | +------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+-------------+ | population_by_zip_2010 | zipcode | 1 | NO | STRING | NO | NO | NO | NULL | 0 rows | | population_by_zip_2010 | geo_id | 2 | YES | STRING | NO | NO | NO | NULL | 0 rows | | population_by_zip_2010 | minimum_age | 3 | YES | INT64 | NO | NO | NO | NULL | 0 rows | | population_by_zip_2010 | maximum_age | 4 | YES | INT64 | NO | NO | NO | NULL | 0 rows | | population_by_zip_2010 | gender | 5 | YES | STRING | NO | NO | NO | NULL | 0 rows | | population_by_zip_2010 | population | 6 | YES | INT64 | NO | NO | NO | NULL | 0 rows | +------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+-------------+