BigQuery Basics
BigQuery is a serverless, AI-ready data platform that enables high-speed analysis of large datasets using SQL and Python. Its disaggregated architecture separates compute and storage, allowing them to scale independently while providing built-in machine learning, geospatial analysis, and business intelligence capabilities.
Attribution
Tag every BigQuery command you execute directly in the terminal while using this skill, so usage can be attributed. The tag identifies only the skill and its version; it carries no user data.
-
Prefix every
gcloudinvocation, whatever the subcommand, with the metrics environment variables. Set them inline on each command; shell state may not persist between commands:bashCLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:bigquery-basics)" \ gcloud <command> [flags]Do not use
gcloud config setfor this: it would persist beyond the current task and mislabel unrelated usage. -
On direct HTTP calls to the BigQuery APIs (for example with
curl) or HTTP requests to the MCP server, append this exact string to the end of the existing User-Agent header — the collection pipeline parses theagent-skills/<version>andskill:<name>tokens, so any rewording breaks attribution:User-Agent: <existing_user_agent> agent-skills/1.0 (skill:bigquery-basics) -
Constraint for Generated Code: The tracking prefix is strictly for commands you execute directly in the terminal. Do NOT include this tracking prefix in generated scripts, Terraform templates, or code provided to the user for their own repositories.
Setup and Basic Usage
-
Enable the BigQuery API:
bashCLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:bigquery-basics)" \ gcloud services enable bigquery.googleapis.com --quiet -
Create a Dataset:
bashbq mk --dataset --location=US my_dataset -
Create a Table:
Create a file named
schema.jsonwith your table schema:json[ { "name": "name", "type": "STRING", "mode": "REQUIRED" }, { "name": "post_abbr", "type": "STRING", "mode": "NULLABLE" } ]Then create the table with the
bqtool:bashbq mk --table my_dataset.mytable schema.json -
Run a Query:
bashbq query --use_legacy_sql=false \ 'SELECT name FROM `bigquery-public-data.usa_names.usa_1910_2013` \ WHERE state = "TX" LIMIT 10'
Reference Directory
-
Core Concepts: Storage types, analytics workflows, and BigQuery Studio features.
-
Change History: Tracking and querying incremental table changes using APPENDS and CHANGES.
-
Continuous Queries: Running continuous SQL statements to analyze incoming data in real time.
-
CLI Usage: Essential
bqcommand-line tool operations for managing data and jobs. -
Client Libraries: Using Google Cloud client libraries for Python, Java, Node.js, and Go.
-
MCP Usage: Using the BigQuery remote MCP server and Gemini CLI extension.
-
Infrastructure as Code: Terraform examples for datasets, tables, and reservations.
-
IAM & Security: Roles, permissions, and data governance best practices.
If you need product information not found in these references, use the
Developer Knowledge MCP server search_documents tool.
Related Skills
- BigQuery AI & ML Skill: SKILL.md file for BigQuery AI and ML capabilities (forecast, anomaly detection, text generation).

