Introduzione a SQL in BigQuery
Questo documento fornisce una panoramica delle istruzioni e dei dialetti SQL supportati in BigQuery.
GoogleSQL è conforme ad ANSI Linguaggio di query strutturato (SQL) che include i seguenti tipi di istruzioni supportate:
- Le istruzioni per le query, inoltre note come istruzioni DQL (Data Query Language), sono il metodo principale per analizzare i dati in BigQuery. Analizzano una o più tabelle e restituiscono le righe dei risultati calcolate.
- Dichiarazioni basate sul linguaggio procedurale sono estensioni procedurali GoogleSQL che consente di eseguire più query istruzioni in un'unica richiesta. Le istruzioni procedurali possono usare variabili istruzioni e possono avere effetti collaterali.
- Istruzioni DDL (Data Definition Language) consentono di creare e modificare oggetti di database come tabelle, viste, funzioni e dati a livello di riga criteri di accesso.
- Istruzioni DML (Data Manipulation Language) consentono di aggiornare, inserire ed eliminare dati dal e tabelle BigQuery.
- Istruzioni Data Control Language (DCL) consentono di controllare le risorse di sistema di BigQuery, come l'accesso e la capacità di archiviazione.
- Istruzioni TCL (Transaction Control Language) consentono di gestire le transazioni per le modifiche dei dati.
- Carica estratti conto ed esportazioni per gestire i dati in entrata e in uscita da BigQuery.
Dialetti SQL BigQuery
BigQuery supporta il dialetto GoogleSQL, ma un modello È disponibile anche il dialetto SQL. Se non hai mai utilizzato BigQuery, GoogleSQL in quanto supporta la più ampia gamma funzionalità. Ad esempio, caratteristiche come le istruzioni DDL e DML sono supportati usando GoogleSQL. L'SQL precedente viene mantenuto per le versioni precedenti compatibilità e consigliamo ai clienti eseguire la migrazione se utilizzano l'SQL precedente.
Passaggio dal dialetto predefinito
L'interfaccia che utilizzi per eseguire query sui dati determina quale dialetto di query è predefinito. Per passare a un dialetto diverso:
Console
Il dialetto predefinito per la console Google Cloud è GoogleSQL. A cambia il dialetto in SQL precedente:
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor query, fai clic sul pulsante Altro > Impostazioni query.
Nella sezione Opzioni avanzate, per Dialetto SQL, fai clic su Precedente, quindi fai clic su Salva. Imposta l'opzione SQL precedente per questo query. Quando fai clic su add_box Query SQL per creare una nuova query, devi selezionare l'opzione SQL precedente di nuovo.
SQL
Il dialetto SQL predefinito è GoogleSQL.
Puoi impostare il dialetto SQL includendo il prefisso
#standardSQL
o #legacySQL
nella query.
Questi prefissi di query non sono sensibili alle maiuscole, devono precedere la query e
devono essere separate dalla query da un carattere di nuova riga. Le seguenti
esempio imposta il dialetto su SQL precedente e interroga il set di dati sulla natalità:
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor query, inserisci la seguente istruzione:
#legacySQL SELECT weight_pounds, state, year, gestation_weeks FROM [bigquery-public-data:samples.natality] ORDER BY weight_pounds DESC LIMIT 10;
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, vedi Eseguire una query interattiva.
bq
Il dialetto predefinito delle query nello strumento a riga di comando bq
è SQL precedente. A
passa al dialetto GoogleSQL, aggiungi --use_legacy_sql=false
o
--nouse_legacy_sql
all'istruzione della riga di comando.
Passa al dialetto GoogleSQL
Per utilizzare la sintassi GoogleSQL in un job di query, imposta use_legacy_sql
su false
.
bq query \
--use_legacy_sql=false \
'SELECT
word
FROM
`bigquery-public-data.samples.shakespeare`'
Imposta GoogleSQL come dialetto predefinito
Puoi impostare GoogleSQL come dialetto predefinito per lo strumento a riga di comando.
la shell interattiva modificando il file di configurazione dello strumento a riga di comando:
.bigqueryrc
.
Per ulteriori informazioni su .bigqueryrc
, vedi
Impostazione di valori predefiniti per flag specifici dei comandi.
Per impostare --use_legacy_sql=false
in .bigqueryrc
:
- Apri
.bigqueryrc
in un editor di testo. Per impostazione predefinita,.bigqueryrc
deve essere in nella tua directory utente, ad esempio$HOME/.bigqueryrc
. Aggiungi il testo seguente al file. In questo esempio, GoogleSQL viene impostato come sintassi predefinita per le query e per il comando
mk
(utilizzata quando crei una ). Se hai già configurato i valori predefiniti per il comandoquery
omk
non occorre aggiungere di nuovo[query]
o[mk]
.[query] --use_legacy_sql=false [mk] --use_legacy_sql=false
Salva e chiudi il file.
Se utilizzi la shell interattiva, devi uscire e riavviare per applicare le modifiche.
Per informazioni sui flag della riga di comando disponibili, vedi Riferimento per lo strumento a riga di comando bq.
C#
Prima di provare questo esempio, segui le istruzioni per la configurazione di C# nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API C# BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Per impostazione predefinita, la libreria C# utilizza GoogleSQL.Passa al dialetto SQL precedente
Per utilizzare la sintassi SQL precedente in un job di query, imposta UseLegacySql
su true
.
Vai
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Go BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Per impostazione predefinita, la libreria client Go utilizza GoogleSQL.Passa al dialetto SQL precedente
Per utilizzare la sintassi SQL precedente in un job di query, imposta la proprietà UseLegacySQL
della configurazione della query a true
.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Java BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Per impostazione predefinita, la libreria client Java utilizza GoogleSQL.Passa al dialetto SQL precedente
Per utilizzare la sintassi SQL precedente in un job di query, imposta il parametro useLegacySql
a true
.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Node.js BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Per impostazione predefinita, la libreria client Node.js utilizza GoogleSQL.Passa al dialetto SQL precedente
Per utilizzare la sintassi SQL precedente in un job di query, imposta il parametro useLegacySql
a true
.
PHP
Prima di provare questo esempio, segui le istruzioni per la configurazione di PHP nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API PHP BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Per impostazione predefinita, la libreria client PHP utilizza GoogleSQL.Passa al dialetto SQL precedente
Per utilizzare la sintassi SQL precedente in un job di query, imposta il parametro useLegacySql
a true
.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Python BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Per impostazione predefinita, la libreria client Python utilizza GoogleSQL.Passa al dialetto SQL precedente
Per utilizzare la sintassi SQL precedente in un job di query, imposta il parametro use_legacy_sql
a True
.
Ruby
Prima di provare questo esempio, segui le istruzioni per la configurazione di Ruby nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Ruby BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Per impostazione predefinita, la libreria client Ruby utilizza GoogleSQL.Passa al dialetto SQL precedente
Per utilizzare la sintassi SQL precedente in un job di query, passa l'opzione legacy_sql: true
con la tua query.
Passaggi successivi
- Per informazioni su come eseguire una query SQL in BigQuery, consulta Esecuzione di job di query interattivi e batch.
- Per ulteriori informazioni sull'ottimizzazione delle query in generale, consulta Introduzione all'ottimizzazione delle prestazioni delle query.
- Per scoprire la sintassi di GoogleSQL utilizzata per eseguire query sui dati in BigQuery, vedi Sintassi delle query.