Introduction to tables
A BigQuery table contains individual records organized in rows. Each record is composed of columns (also calledfields).
Every table is defined by aschema that describes the column names, data types, andother information. You can specify the schema of a table when it is created, or you can create atable without a schema and declare the schema in the query job or load job that first populates itwith data.
Use the formatprojectname.datasetname.tablename to fully qualify a table name when using GoogleSQL, or the formatprojectname:datasetname.tablename to fully qualify a table name when using the bq command-line tool.
Table types
The following sections describe the table types that BigQuerysupports.
- Standard BigQuery tables: structureddata stored in BigQuery storage.
- External tables: tables that reference data stored outside BigQuery.
- Views: logical tables that are created by using a SQL query.
Standard BigQuery tables
Standard BigQuery tables contain structured data and are storedin BigQuery storage in a columnar format. You can also storereferences to unstructured data in standard tables by using struct columnsthat adhere to theObjectRefformat. For more information about working withObjectRef values, seeSpecify ObjectRef columns in table schemas.
BigQuery has the following table types:
Tables, which have a schema and every column in the schema has a data type.
For information about how to create tables, seeCreate tables.
Table clones, which arelightweight, writeable copies of BigQuery tables.BigQuery onlystores the delta between a table clone and its base table.
For information about how to create table clone, seeCreate table clones.
Table snapshots, which arepoint-in-time copies of tables. They are read-only, but you can restore a tablefrom a table snapshot. BigQuery stores bytes that are differentbetween a snapshot and its base table, so a table snapshot typically uses lessstorage than a full copy of the table.
For information about how to create table snapshots, seeCreate table snapshots.
External tables
External tables are stored outside out of BigQuery storage andrefer to data that's stored outside of BigQuery. For more information, seeIntroduction to external data sources.External tables include the following types:
BigLake tables, which referencestructured data stored in data stores such asCloud Storage, Amazon Simple Storage Service (Amazon S3), and Azure Blob Storage. These tables let youenforce fine-grained security at the table level.
For information about how to create BigLake tables, see thefollowing topics:
Object tables, whichreference unstructured data stored in data stores such as Cloud Storage.
For information about how to create object tables, seeCreate object tables.
Non-BigLake external tables,which reference structured data stored indata stores such as Cloud Storage, Google Drive, and Bigtable.Unlike BigLake tables, these tables don't let you enforcefine-grained security at the table level.
For information about how to create non-BigLake externaltables, see the following topics:
Views
Views are logical tables that are defined by using a SQL query. These include thefollowing types:
Views, which are logical tables that are defined byusing SQL queries. These queries define the view that is runeach time the view is queried.
For information about how to create views, seeCreate views.
Materialized views, which are precomputedviews that periodically cache the results of the view query. The cachedresults are stored in BigQuery storage.
For information about how to create materialized views, seeCreate materialized views.
Table limitations
BigQuery tables are subject to the following limitations:
- Table names must be unique per dataset.
- When you export BigQuery table data, the only supporteddestination is Cloud Storage.
- When you use an API call, enumeration performance slows as you approach 50,000tables in a dataset.
- The Google Cloud console can display up to 50,000 tables for each dataset.
For information about BigQuery external table limitations, seethe following topics:
Table quotas
Quotas and limits apply to the different types of jobs you can run againsttables, including the following quotas:
- Load data into tables (load jobs)
- Export data from tables (extract jobs)
- Query table data (query jobs)
- Copy tables (copy jobs)
For more information about all quotas and limits, seeQuotas and limits.
To troubleshoot quota errors for tables, see theBigQuery Troubleshooting page.
The following quota errors apply specifically to tables:
Table pricing
When you create and use tables in BigQuery, your charges arebased on how much data is stored in the tables and partitions and on the queriesyou run against the table data:
- For information about storage pricing, seeStorage pricing.
- For information about query pricing, seeQuery pricing.
Many table operations are free, including loading, copying, and exporting data.Though free, these operations are subject to BigQueryquotas and limits. For information about all free operations,seeFree operations on the pricing page.
Table security
To control access to tables in BigQuery, seeControl access to resources with IAM.
What's next
- Learn how tocreate and use tables.
- Learn how tomanage tables.
- Learn how tomodify table schemas.
- Learn aboutworking with table data.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-12-15 UTC.