Questa pagina introduce la CLI di Spanner e spiega come utilizzarla.
La CLI di Spanner è un'interfaccia a riga di comando (CLI) che consente di connettersi e interagire con il database Spanner. È incorporato in Google Cloud CLI (gcloud CLI) per interagire con Spanner. Puoi utilizzare la CLI di Spanner per eseguire direttamente 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 alpha 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 visualizzare i risultati nella CLI.
Prima di iniziare
La CLI Spanner è disponibile in gcloud CLI. Quando esegui
il comando gcloud alpha 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 alpha 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 nella CLI di Spanner 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 alpha spanner cli
:
gcloud alpha 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 alpha 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 alpha 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 alpha 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 alpha 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 che contiene 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 alpha spanner cli DATABASE_ID --instance=INSTANCE_ID
Una volta stabilita la connessione tra la CLI e il database, verrà visualizzato un prompt (ad esempio spanner-cli>
) in cui puoi:
- Digita direttamente le istruzioni GoogleSQL:
- Eseguire transazioni
- Utilizzare i meta-comandi 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 alpha 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 di Spanner supporta i meta-comandi di utilità, ovvero comandi che operano sul client, in questo caso la CLI di Spanner. I seguenti meta-comandi sono supportati nella CLI Spanner:
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 di 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 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 alpha spanner cli
supportati.