Visualizzazione COLUMNS
La visualizzazione INFORMATION_SCHEMA.COLUMNS contiene una riga per ogni colonna (campo) di una tabella.
Autorizzazioni obbligatorie
Per eseguire query sulla visualizzazione INFORMATION_SCHEMA.COLUMNS, devi disporre delle seguenti autorizzazioni IAM (Identity and Access Management):
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 ulteriori informazioni sulle autorizzazioni di BigQuery, consulta Controllo dell'accesso con IAM.
Schema
Quando esegui una query sulla visualizzazione INFORMATION_SCHEMA.COLUMNS, i risultati della query contengono una riga per ogni colonna (campo) di una tabella.
La visualizzazione INFORMATION_SCHEMA.COLUMNS ha lo schema seguente:
| 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
il 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 in base 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 valori NULL. |
data_type |
STRING |
Il tipo di dati GoogleSQL della colonna. |
is_generated |
STRING |
Il valore è ALWAYS se la colonna è una colonna di incorporamento generata automaticamente; in caso contrario, il valore è NEVER. |
generation_expression |
STRING |
Il valore è l'espressione di generazione utilizzata per definire la colonna
se la colonna è una colonna di incorporamento generata automaticamente; in caso contrario, il valore è NULL. |
is_stored |
STRING |
Il valore è YES se la colonna è una colonna di incorporamento generata automaticamente; in caso contrario, il valore è NULL. |
async_generation_status |
STRUCT |
Contiene errori di blocco per i job di generazione di incorporamenti in background se la
colonna è una colonna di incorporamento 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 quelli che seguono:
async_generation_status la colonna verrà cancellata.
|
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 in base 1 della colonna all'interno delle colonne di clustering della tabella
; il valore è NULL se la tabella non è una
tabella con clustering. |
collation_name |
STRING |
Il nome della specifica delle regole di confronto
se esiste; in caso contrario, NULL.Se viene passato un valore STRING o ARRAY<STRING>, la specifica di confronto viene restituita se esiste; in caso contrario, viene restituito NULL.
|
column_default |
STRING |
Il valore predefinito della
colonna, se esiste; in caso contrario, il valore è NULL.
|
rounding_mode |
STRING |
La modalità di arrotondamento utilizzata per i valori scritti nel campo se il suo
tipo è con parametri NUMERIC o BIGNUMERIC;
in caso contrario, il valore è NULL.
|
data_policies.name |
STRING |
L'elenco delle policy sui dati collegate alla colonna per controllare l'accesso e la mascheratura. Questo campo è in (anteprima). |
policy_tags |
ARRAY<STRING> |
L'elenco dei tag policy collegati alla colonna. |
is_identity |
STRING |
YES o NO a seconda che la colonna sia
una colonna Identity.
|
identity_generation |
STRING |
Uno tra ALWAYS o BY DEFAULT, a seconda della modalità di generazione della colonna Identity. Se la colonna non è una colonna Identity
il valore è NULL.
|
identity_start |
INT64 |
Il primo valore generato dalla colonna Identity o NULL
se la colonna non è una colonna Identity.
|
identity_increment |
INT64 |
La differenza minima tra gli ID generati in sequenza per la
colonna Identity o NULL se la colonna non è una
colonna Identity.
|
identity_maximum |
INT64 |
Il valore massimo che può essere generato per la colonna Identity o
NULL se la colonna non è una colonna Identity.
|
identity_minimum |
INT64 |
Il valore minimo che può essere generato per la colonna Identity o
NULL se la colonna non è una colonna Identity.
|
identity_cycle |
STRING |
Se la colonna è una colonna Identity, questo valore è
NEVER; in caso contrario, il valore è NULL.
|
Per garantire la stabilità, ti consigliamo di elencare esplicitamente le colonne nelle query dello schema informativo 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 visualizzazione devono includere un qualificatore di set di dati o di regione. 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 regione, devi disporre delle autorizzazioni per il progetto. Per ulteriori informazioni, consulta Sintassi. La tabella seguente illustra gli ambiti di regione e risorsa per questa visualizzazione:
| Nome vista | Ambito risorsa | Ambito regionale |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.COLUMNS |
Livello progetto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.COLUMNS |
Livello set di dati | Posizione del set di dati |
-
(Facoltativo)
PROJECT_ID: l'ID del tuo Google Cloud progetto. Se non specificato, viene utilizzato il progetto predefinito. -
REGION: il nome di una regione del set di dati. Ad esempio,`region-us`. -
DATASET_ID: l'ID del set di dati. Per ulteriori informazioni, consulta Qualificatore del set di dati.
Esempio
L'esempio seguente recupera i metadati dalla INFORMATION_SCHEMA.COLUMNS
visualizzazione per la population_by_zip_2010 tabella nel
census_bureau_usa
set di dati. Questo set di dati fa parte del programma di set di dati
pubblici di BigQuery.
Poiché la tabella su cui stai eseguendo la query si trova in un altro progetto, il
bigquery-public-data progetto, 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 una maggiore 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 | +------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+-------------+