Guida rapida all'interfaccia a riga di comando Spanner

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

  1. Configura un progetto Google Cloud .

  2. Configura l'autenticazione utilizzando gcloud CLI.

  3. Crea un'istanza.

  4. Crea un database.

  5. 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 comando gcloud 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 comando gcloud 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:

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