Ansicht COLUMNS
Die Ansicht INFORMATION_SCHEMA.COLUMNS enthält eine Zeile für jede Spalte (Feld) in einer Tabelle.
Erforderliche Berechtigungen
Zum Abfragen der INFORMATION_SCHEMA.COLUMNS-Ansicht benötigen Sie folgende IAM-Berechtigungen (Identity and Access Management):
bigquery.tables.getbigquery.tables.list
Die folgenden vordefinierten IAM-Rollen enthalten jeweils die vorherigen Berechtigungen:
roles/bigquery.adminroles/bigquery.dataViewerroles/bigquery.dataEditorroles/bigquery.metadataViewer
Weitere Informationen zu BigQuery-Berechtigungen finden Sie unter Zugriffssteuerung mit IAM.
Schema
Wenn Sie die Ansicht INFORMATION_SCHEMA.COLUMNS abfragen, wird in den Abfrageergebnissen jede Spalte (jedes Feld) einer Tabelle in einer eigenen Zeile dargestellt.
Die Ansicht INFORMATION_SCHEMA.COLUMNS hat das folgende Schema:
| Spaltenname | Datentyp | Wert |
|---|---|---|
table_catalog |
STRING |
Die Projekt-ID des Projekts, das das Dataset enthält. |
table_schema |
STRING |
Der Name des Datasets, das die Tabelle enthält (auch als
datasetId bezeichnet). |
table_name |
STRING |
Der Name der Tabelle oder Ansicht (auch als tableId bezeichnet). |
column_name |
STRING |
Der Name der Spalte. |
ordinal_position |
INT64 |
Der 1-indexierte Versatz der Spalte in der Tabelle; bei einer Pseudospalte wie _PARTITIONTIME oder _PARTITIONDATE ist der Wert NULL. |
is_nullable |
STRING |
YES oder NO, je nachdem, ob der Spalten
modus NULL Werte zulässt. |
data_type |
STRING |
Der GoogleSQL-Datentyp der Spalte. |
is_generated |
STRING |
Der Wert ist ALWAYS, wenn die Spalte eine
automatisch
generierte Einbettungsspalte ist;
andernfalls ist der Wert NEVER. |
generation_expression |
STRING |
Der Wert ist der Ausdruck, der zum Generieren der Spalte verwendet wird
wenn die Spalte eine automatisch
generierte Einbettungsspalte ist. Andernfalls ist der Wert NULL. |
is_stored |
STRING |
Der Wert ist YES, wenn die Spalte eine automatisch
generierte Einbettungsspalte ist. Andernfalls ist der Wert
NULL. |
async_generation_status |
STRUCT |
Enthält blockierende Fehler für Hintergrundjobs zur Einbettungserstellung, wenn die
Spalte eine automatisch generierte Einbettungsspalte ist. Andernfalls ist der
Wert NULL. Informationen zu blockierenden Fehlern finden Sie im Feld async_generation_status.blocking_error.message.
Blockierende Fehler können folgende Ursachen haben:
async_generation_status Spalte gelöscht.
|
is_hidden |
STRING |
YES oder NO, je nachdem, ob die Spalte
eine Pseudospalte wie _PARTITIONTIME oder _PARTITIONDATE ist. |
is_updatable |
STRING |
Der Wert ist immer NULL. |
is_system_defined |
STRING |
YES oder NO, je nachdem, ob die Spalte
eine Pseudospalte wie _PARTITIONTIME oder _PARTITIONDATE ist. |
is_partitioning_column |
STRING |
YES oder NO, je nachdem, ob die Spalte eine Partitionierungsspalte ist. |
clustering_ordinal_position |
INT64 |
Der 1-indexierte Versatz der Spalte in den Clustering-Spalten der Tabelle; der Wert ist NULL wenn die Tabelle keine geclusterte Tabelle ist. |
collation_name |
STRING |
Der Name der Sortierspezifikation, falls vorhanden. Andernfalls NULL.Wenn ein STRING oder ARRAY<STRING> übergeben
wird, wird die Sortierspezifikation zurückgegeben, sofern vorhanden. Andernfalls
wird NULL zurückgegeben.
|
column_default |
STRING |
Der Standardwert der
Spalte, falls vorhanden. Andernfalls lautet der Wert NULL.
|
rounding_mode |
STRING |
Der Rundungsmodus, der für in das Feld geschriebene Werte verwendet wird, wenn sein
Typ ein parametrisierter NUMERIC oder BIGNUMERIC ist.
Andernfalls ist der Wert NULL.
|
data_policies.name |
STRING |
Die Liste der Datenrichtlinien, die an die Spalte angehängt sind, um den Zugriff und die Maskierung zu steuern. Dieses Feld befindet sich in der (Vorschau). |
policy_tags |
ARRAY<STRING> |
Die Liste der Richtlinien-Tags, die an die Spalte angehängt sind. |
is_identity |
STRING |
YES oder NO, je nachdem, ob die Spalte eine Identitätsspalte ist.
|
identity_generation |
STRING |
Einer der Werte ALWAYS oder BY DEFAULT, je nach Generierungsmodus der Identitätsspalte. Wenn die Spalte keine Identitäts
Spalte ist, ist der Wert NULL.
|
identity_start |
INT64 |
Der erste Wert, der von der Identitätsspalte generiert wird, oder NULL
wenn die Spalte keine Identitätsspalte ist.
|
identity_increment |
INT64 |
Die Mindestdifferenz zwischen aufeinanderfolgend generierten IDs für die
Identitätsspalte oder NULL wenn die Spalte keine
Identitätsspalte ist.
|
identity_maximum |
INT64 |
Der Maximalwert, der für die Identitätsspalte generiert werden kann, oder
NULL wenn die Spalte keine Identitätsspalte ist.
|
identity_minimum |
INT64 |
Der Minimalwert, der für die Identitätsspalte generiert werden kann, oder
NULL wenn die Spalte keine Identitätsspalte ist.
|
identity_cycle |
STRING |
Wenn die Spalte eine Identitätsspalte ist, ist dieser Wert
NEVER. Andernfalls ist der Wert NULL.
|
Aus Stabilitätsgründen empfehlen wir, Spalten in Ihren Informationsschema-Abfragen explizit aufzulisten, anstatt einen Platzhalter (SELECT *) zu verwenden. Wenn Sie Spalten explizit auflisten, wird verhindert, dass Abfragen fehlschlagen, wenn sich das zugrunde liegende Schema ändert.
Bereich und Syntax
Für Abfragen dieser Ansicht muss ein Dataset- oder Regions-Qualifier verwendet werden. Für Abfragen mit einem Dataset-Qualifier benötigen Sie Berechtigungen für das Dataset. Für Abfragen mit einem Regions-Qualifier müssen Sie Berechtigungen für das Projekt haben. Weitere Informationen finden Sie unter Syntax. In der folgenden Tabelle werden die Regions- und Ressourcenbereiche für diese Ansicht erläutert:
| Ansichtsname | Ressourcenbereich | Regionsbereich |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.COLUMNS |
Projektebene | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.COLUMNS |
Dataset-Ebene | Dataset-Speicherort |
-
Optional:
PROJECT_ID: die ID Ihres Google Cloud Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet. -
REGION: ist ein beliebiger Dataset-Regionsname. Beispiel:`region-us` -
DATASET_ID: die ID Ihres Datasets. Weitere Informationen finden Sie unter Dataset-Qualifier.
Beispiel
Im folgenden Beispiel werden aus der Ansicht INFORMATION_SCHEMA.COLUMNS Metadaten für die Tabelle population_by_zip_2010 im Dataset census_bureau_usa abgerufen. Dieses Dataset ist Teil des öffentlichen Dataset-Programms von BigQuery.
Da sich die abgefragte Tabelle in einem anderen Projekt (
bigquery-public-data) befindet, fügen Sie dem Dataset die Projekt-ID im
folgenden Format hinzu:
`project_id`.dataset.INFORMATION_SCHEMA.view;
beispielsweise so:
`bigquery-public-data`.census_bureau_usa.INFORMATION_SCHEMA.TABLES.
Die folgende Spalte ist nicht in den Abfrageergebnissen enthalten:
IS_UPDATABLE
SELECT * EXCEPT(is_updatable) FROM `bigquery-public-data`.census_bureau_usa.INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'population_by_zip_2010';
Das Ergebnis sieht etwa so aus. Zur besseren Lesbarkeit werden einige Spalten aus dem Ergebnis ausgeschlossen.
+------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+-------------+ | 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 | +------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+-------------+