Stay organized with collections Save and categorize content based on your preferences.

Introduction to tables

A BigQuery table contains individual records organized in rows. Each record is composed of columns (also called fields).

Every table is defined by a schema that describes the column names, data types, and other information. You can specify the schema of a table when it is created, or you can create a table without a schema and declare the schema in the query job or load job that first populates it with data.

Use the format projectname.datasetname.tablename to fully qualify a table name when using Google Standard SQL, or the format projectname:datasetname.tablename to fully qualify a table name when using the bq command-line tool.

BigQuery supports the following table types:

  • Native tables: tables backed by native BigQuery storage, including the following:
    • Standard tables
    • Table clones
    • Table snapshots
    • Materialized views
  • External tables: tables backed by storage external to BigQuery. For more information, see Querying External Data Sources.
  • Views: Virtual tables defined by a SQL query. For more information, see Creating views.

For more information, see Table data.

Table limitations

BigQuery tables are subject to the following limitations:

  • Table names must be unique per dataset.
  • The Google Cloud console supports copying only one table at a time.
  • When you copy tables, the destination dataset must reside in the same location as the table being copied. For example, you cannot copy a table from an EU-based dataset to a US-based dataset.
  • When you copy multiple source tables to a destination table by using the bq command-line tool, the API, or the client libraries, all source tables must have identical schemas.
  • When you export table data, the only supported destination is Cloud Storage.
  • When you use an API call, enumeration performance slows as you approach 50,000 tables in a dataset.
  • The Google Cloud console can display up to 50,000 tables for each dataset.

Table quotas

Quotas and limits apply to the different types of jobs you can run against tables, including:

For more information on all quotas and limits, see Quotas and limits.

Table pricing

When you create and use tables in BigQuery, your charges are based on how much data is stored in the tables and partitions and on the queries you run against the table data:

Many table operations are free, including loading, copying, and exporting data. Though free, these operations are subject to BigQuery's Quotas and limits. For information on all free operations, see Free operations on the pricing page.

Table security

To control access to tables in BigQuery, see Introduction to table access controls.

What's next