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 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 Spaltenmodus NULL-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 | 
      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 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.
       | 
    
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_GENERATEDGENERATION_EXPRESSIONIS_STOREDIS_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 | +------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+-------------+