bq
command-line tool reference
This document describes the syntax, commands, flags, and arguments for bq
,
the BigQuery command-line tool.
It is intended for users who are familiar with BigQuery, but want to
know how to use a particular bq
command-line tool command.
For general information about how to use the bq
command-line tool, see
Using the bq
command-line tool.
Synopsis
The bq
command-line tool uses the following format:
bq COMMAND [FLAGS] [ARGUMENTS]
Some flags can be used with multiple bq
command-line tool commands; these flags are
described in the Global flags section.
Other flags are command-specific; they can only be used with a particular
bq
command-line tool command. The command-specific flags are described in the command
sections.
Boolean flags
Some bq
command-line tool flags are boolean; you can set the flag's value to either
true
or false
.
The bq
command-line tool accepts the following formats for setting boolean flags.
Value | Format | Example |
---|---|---|
true |
--FLAGNAME=true |
--debug_mode=true |
true |
--FLAGNAME |
--debug_mode |
false |
--FLAGNAME=false |
--debug_mode=false |
false |
--noFLAGNAME |
--nodebug_mode |
This document uses the --FLAGNAME=VALUE
format for boolean flags.
All boolean flags are optional; if a boolean flag is not present, then BigQuery uses the flag's default value.
Specifying values for flags
When you specify a value for a flag, the equals sign (=
) is optional. For
example, the following two commands are equivalent:
bq ls --format prettyjson myDataset bq ls --format=prettyjson myDataset
This document uses the equals sign for clarity.
Online help
Documentation is available in the bq
command-line tool, as follows:
Description | Help command format | Example |
---|---|---|
List of all commands with examples | bq help |
bq help |
Description of global flags | bq --help |
bq --help |
Description of a particular command | bq help COMMAND |
bq help mk |
Resource specification
The format for specifying a resource depends on the context; in some cases the
separator between the project and dataset is a colon (:
) and in some cases, it
is a period (.
). The following table
describes how to specify a BigQuery table in different contexts.
Context | Format | Example |
---|---|---|
bq command-line tool |
PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
GoogleSQL query | PROJECT.DATASET.TABLE |
myProject.myDataset.myTable |
Legacy SQL query | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
If you don't specify a project, then BigQuery uses the current
project. For example, if the current project is myProject
, then
BigQuery interprets myDataset.myTable
as
myProject:myDataset.myTable
(or myProject.myDataset.myTable
).
Some resource identifiers must be quoted using back ticks (`
).
If your resource identifier begins with a letter or underscore character, and
contains only characters that are letters, numbers, and underscores, then you
don't need to quote it. However, if your resource identifier
contains other types of
characters, or reserved keywords, you need to surround the identifier (or the
part of the identifier with the special characters or reserved keywords) with
back ticks. For more information, see
Identifiers.
Global flags
You can use the following flags with any bq
command, where applicable:
--api=ENDPOINT
- Specifies the API endpoint to call. The default value is
https://www.googleapis.com
. --api_version=VERSION
- Specifies the API version to use. The default is
v2
. --apilog=FILE
Logs all API requests and responses to the file specified by
FILE
. Possible values are the following:- the path to a file - logs to the specified file
stdout
- logs to standard outputstderr
- logs to standard errorfalse
- API requests and responses are not logged (default)
--bigqueryrc=PATH
Specifies the path to the
bq
command-line tool configuration file. If you don't specify the--bigqueryrc
flag, then the command uses theBIGQUERYRC
environment variable. If the environment variable is not set, then$HOME/.bigqueryrc
is used. If that file does not exist, then~/.bigqueryrc
is used. For more information, see Setting default values for command-line flags.--ca_certificates_file=PATH
Specifies the location of your Certificate Authority Service (CA) file.
--dataset_id=DATASET_ID
Specifies the default datase