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.get
- bigquery.tables.list
Die folgenden vordefinierten IAM-Rollen enthalten jeweils die vorherigen Berechtigungen:
- roles/bigquery.admin
- roles/bigquery.dataViewer
- roles/bigquery.dataEditor
- roles/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 ID des Projekts, das das Dataset enthält | 
| TABLE_SCHEMA | STRING | Der Name des Datasets, das die Tabelle enthält (auch als datasetIdbezeichnet) | 
| TABLE_NAME | STRING | Der Name der Tabelle oder Ansicht (auch als tableIdbezeichnet) | 
| 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 | YESoderNO, je nachdem, ob der SpaltenmodusNULL-Werte zulässt | 
| DATA_TYPE | STRING | Der GoogleSQL-Datentyp der Spalte | 
| IS_GENERATED | STRING | Der Wert ist immer NEVER | 
| GENERATION_EXPRESSION | STRING | Der Wert ist immer NULL | 
| IS_STORED | STRING | Der Wert ist immer NULL | 
| IS_HIDDEN | STRING | YESoderNO, je nachdem, ob die Spalte eine Pseudospalte wie _PARTITIONTIME oder _PARTITIONDATE ist | 
| IS_UPDATABLE | STRING | Der Wert ist immer NULL | 
| IS_SYSTEM_DEFINED | STRING | YESoderNO, je nachdem, ob die Spalte eine Pseudospalte wie _PARTITIONTIME oder _PARTITIONDATE ist | 
| IS_PARTITIONING_COLUMN | STRING | YESoderNO, 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 STRINGoderARRAY<STRING>übergeben wird, wird die Sortierspezifikation zurückgegeben, sofern vorhanden. Andernfalls wirdNULLzurü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 NUMERICoderBIGNUMERICist. Andernfalls ist der WertNULL. | 
| POLICY_TAGS | ARRAY<STRING> | Die Liste der Richtlinien-Tags, die an die Spalte angehängt sind | 
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 | auf 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 folgenden Spalten sind nicht in den Abfrageergebnissen enthalten, da sie derzeit für eine zukünftige Verwendung reserviert sind:
- 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';
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 | +------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+-------------+