Questa pagina introduce Spanner CLI e spiega come utilizzarla.
La CLI di Spanner è un'interfaccia a riga di comando (CLI) che ti consente di connetterti e interagire con il tuo database Spanner. È incorporato in Google Cloud CLI (gcloud CLI) per interagire con Spanner. Puoi utilizzare la CLI di Spanner per eseguire direttamente le istruzioni GoogleSQL nel tuo database Spanner. Le istruzioni possono essere costituite da istruzioni DDL (Data Definition Language), DML (Data Manipulation Language) o DQL (Data Query Language). Puoi utilizzare la CLI di Spanner per eseguire script di comandi SQL e automatizzare le attività.
Per ulteriori informazioni, consulta un elenco di tutti i comandi
gcloud spanner cli
supportati.
Vantaggi principali
I vantaggi principali della CLI di Spanner includono:
- Esegue i comandi SQL DDL, DML e DQL.
- Puoi scrivere ed eseguire istruzioni SQL su più righe.
- Supporta i metacomandi per aiutarti con le attività di sistema, come l'esecuzione di un comando shell di sistema e l'esecuzione di SQL da un file.
- Puoi automatizzare le esecuzioni SQL scrivendo una serie di istruzioni SQL in un file di script e poi chiedendo alla CLI di Spanner di eseguire lo script. Inoltre, puoi reindirizzare l'output a un file di output.
- Puoi avviare una sessione interattiva della CLI Spanner, che ti consente di digitare direttamente istruzioni SQL e meta-comandi e di visualizzare i risultati nella CLI.
Prima di iniziare
La CLI di Spanner è disponibile in gcloud CLI. Quando esegui
il comando gcloud spanner cli
per la prima volta, gcloud CLI
installa automaticamente il componente Spanner CLI.
Utilizza la CLI di Spanner
Esegui questo comando per avviare la CLI di Spanner e interagire con il tuo database Spanner:
gcloud spanner cli DATABASE_ID --instance=INSTANCE_ID
Sostituisci quanto segue:
DATABASE_ID
: l'ID del database Spanner. Questo è il nome che hai utilizzato nel passaggio precedente Crea un database. Puoi utilizzare il comandogcloud spanner databases list
per elencare i database Spanner contenuti nell'istanza specificata.INSTANCE_ID
: l'ID dell'istanza Spanner. Questo è il nome che hai utilizzato nel passaggio precedente Crea un'istanza. Puoi utilizzare il comandogcloud spanner instances list
per elencare le istanze Spanner contenute nel progetto specificato.
Esegui SQL
Puoi eseguire istruzioni SQL in Spanner CLI utilizzando l'opzione execute
o un metodo di input e output basato su file. Le istruzioni SQL possono
essere costituite da DDL, DML o DQL.
Utilizza il flag execute
Per utilizzare il flag execute
per eseguire SQL, esegui il seguente comando
gcloud spanner cli
:
gcloud spanner cli DATABASE_ID --instance INSTANCE_ID \
--execute "SQL"
Sostituisci quanto segue:
DATABASE_ID
: l'ID del database Spanner a cui vuoi connetterti.INSTANCE_ID
: l'ID dell'istanza Spanner a cui vuoi connetterti.SQL
: l'SQL che vuoi eseguire.
Ad esempio, per eseguire un'istruzione DDL:
gcloud spanner cli test-database --instance test-instance \
--execute "CREATE TABLE Singers ( \
SingerId INT64 NOT NULL, \
FirstName STRING(1024), \
LastName STRING(1024), \
SingerInfo STRING(1024), \
BirthDate DATE \
) PRIMARY KEY(SingerId);"
Per eseguire un'istruzione DML:
gcloud spanner cli test-database --instance test-instance \
--execute "INSERT INTO Singers (SingerId, FirstName, LastName, SingerInfo) \
VALUES(1, 'Marc', 'Richards', 'nationality: USA'), \
(2, 'Catalina', 'Smith', 'nationality: Brazil'), \
(3, 'Andrew', 'Duneskipper', NULL);"
Utilizzare un input e un output basati su file
Se utilizzi il metodo di input e output basato su file, Spanner legge l'input da un file e scrive l'output in un altro file. Per utilizzare il metodo di input e output basato su file per eseguire SQL, esegui questo comando:
gcloud spanner cli DATABASE_ID --instance INSTANCE_ID \
--source INPUT_FILE_PATH --tee OUTPUT_FILE_PATH
Puoi anche utilizzare il metodo di input e output di reindirizzamento basato su file:
gcloud spanner cli DATABASE_ID --instance INSTANCE_ID \
< INPUT_FILE_PATH > OUTPUT_FILE_PATH
Sostituisci quanto segue:
DATABASE_ID
: l'ID del database Spanner a cui vuoi connetterti.INSTANCE_ID
: l'ID dell'istanza Spanner a cui vuoi connetterti.SOURCE_FILE_PATH
: il file contenente l'SQL che vuoi eseguire.OUTPUT_FILE_PATH
: il file denominato a cui aggiungere una copia dell'output SQL.
Avviare una sessione interattiva
Puoi avviare una sessione interattiva di Spanner CLI, che ti consente di digitare direttamente istruzioni SQL e meta-comandi e visualizzare i risultati nella CLI. Per farlo, esegui il seguente comando:
gcloud spanner cli DATABASE_ID --instance=INSTANCE_ID
Una volta stabilita la connessione tra la CLI e il database, vedrai un prompt (ad esempio spanner-cli>
) in cui puoi:
- Digita direttamente le istruzioni GoogleSQL:
- Eseguire transazioni
- Utilizzare i metacomandi supportati
Dopo aver premuto il tasto ENTER
, l'istruzione o il comando viene inviato al
database Spanner appropriato. Spanner quindi
esegue l'istruzione o il comando.
Nell'esempio seguente, avvii una sessione interattiva in test-database
e poi esegui SELECT 1;
:
gcloud spanner cli test-database --instance test-instance
Welcome to Spanner-Cli Client.
Type 'help;' or '\h' for help.
Type 'exit;' or 'quit;' or '\q' to exit.
spanner-cli> SELECT 1;
+---+
| |
+---+
| 1 |
+---+
1 rows in set (1.11 msecs)
Esegui istruzione DDL
Per eseguire un'istruzione DDL, puoi eseguire quanto segue:
spanner-cli> CREATE TABLE Singers (
-> SingerId INT64 NOT NULL,
-> FirstName STRING(1024),
-> LastName STRING(1024),
-> SingerInfo STRING(1024),
-> BirthDate DATE
-> ) PRIMARY KEY(SingerId);
Query OK, 0 rows affected (17.08 sec)
Esegui l'istruzione DML
Per eseguire un'istruzione DML, puoi eseguire quanto segue:
spanner-cli> INSERT INTO Singers (SingerId, FirstName, LastName, SingerInfo)
-> VALUES(1, 'Marc', 'Richards', 'nationality: USA'),
-> (2, 'Catalina', 'Smith', 'nationality: Brazil'),
-> (3, 'Andrew', 'Duneskipper', NULL);
Query OK, 3 rows affected (0.32 sec)
Meta-comandi supportati
La CLI Spanner supporta i meta-comandi di utilità, ovvero comandi che operano sul client, in questo caso la CLI Spanner. Nella CLI di Spanner sono supportati i seguenti meta-comandi:
Comando | Sintassi | Descrizione |
---|---|---|
? |
\?
|
Visualizza le informazioni della guida. Uguale a \h .
|
Delimitatore |
\d
|
Imposta il delimitatore dell'istruzione. Il delimitatore predefinito è un punto e virgola. |
Esci |
\q
|
Esce dalla CLI Spanner. Uguale a Esci. |
Vai |
\g
|
Invia ed esegue l'istruzione SQL in Spanner. |
Guida |
\h
|
Visualizza le informazioni della guida. Uguale a \? .
|
Notee |
\t
|
Disattiva la scrittura nel file di output impostato da \T .
|
Prompt |
\R
|
Modifica il prompt in una stringa di prompt utente. |
Esci |
\q
|
Esce dalla CLI di Spanner. Uguale all'uscita. |
Origine |
\.
|
Esegue SQL da un file di input. Accetta [filename] come argomento. |
Sistema |
\!
|
Esegue un comando della shell di sistema. |
Tee |
\T
|
Aggiunge l'output comando a un [nome file] specificato insieme all'output standard. |
Utilizza |
\u
|
Si connette a un altro database. Prende il nuovo nome del database come argomento. |
Passaggi successivi
- Visualizza un elenco di tutti i comandi
gcloud spanner cli
supportati.