Esta página apresenta a CLI do Spanner e explica como usá-la.
A CLI do Spanner é uma interface de linhas de comando (CLI) que lhe permite estabelecer ligação e interagir com a sua base de dados do Spanner. Está incorporada na CLI do Google Cloud (CLI gcloud) para interagir com o Spanner. Pode usar a CLI do Spanner para executar diretamente declarações GoogleSQL na sua base de dados do Spanner. As suas declarações podem consistir em declarações de linguagem de definição de dados (LDD), linguagem de manipulação de dados (DML) ou linguagem de consulta de dados (DQL). Pode usar a CLI do Spanner para executar scripts de comandos SQL e automatizar tarefas.
Para mais informações, consulte uma lista de todos os comandos
gcloud alpha spanner cli
compatíveis.
Principais vantagens
As principais vantagens da CLI do Spanner incluem:
- Executa comandos SQL DDL, DML e DQL.
- Pode escrever e executar declarações SQL em várias linhas.
- Suporta metacomandos para ajudar com tarefas do sistema, como executar um comando de shell do sistema e executar SQL a partir de um ficheiro.
- Pode automatizar as execuções de SQL escrevendo uma série de declarações SQL num ficheiro de script e, em seguida, dando instruções à CLI do Spanner para executar o script. Além disso, pode redirecionar a saída para um ficheiro de saída.
- Pode iniciar uma sessão interativa da CLI do Spanner, que lhe permite escrever diretamente declarações SQL e metacomandos, e ver os resultados na CLI.
Antes de começar
A CLI do Spanner está disponível na CLI gcloud. Quando executa o comando gcloud alpha spanner cli
pela primeira vez, a CLI gcloud instala automaticamente o componente da CLI do Spanner.
Use a CLI do Spanner
Execute o seguinte comando para iniciar a CLI do Spanner e interagir com a sua base de dados do Spanner:
gcloud alpha spanner cli DATABASE_ID --instance=INSTANCE_ID
Substitua o seguinte:
DATABASE_ID
: o ID da base de dados do Spanner. Este é o nome que usou no passo anterior de criação de uma base de dados. Pode usar o comandogcloud spanner databases list
para listar as bases de dados do Spanner contidas na instância indicada.INSTANCE_ID
: o ID da instância do Spanner. Este é o nome que usou no passo anterior de criação de uma instância. Pode usar o comandogcloud spanner instances list
para listar as instâncias do Spanner contidas no projeto indicado.
Executar SQL
Pode executar declarações SQL na CLI do Spanner através da opção execute
ou de um método de entrada e saída baseado em ficheiros. As suas declarações SQL podem consistir em DDL, DML ou DQL.
Use a flag execute
Para usar a flag execute
para executar SQL, execute o seguinte comando
gcloud alpha spanner cli
:
gcloud alpha spanner cli DATABASE_ID --instance INSTANCE_ID \
--execute "SQL"
Substitua o seguinte:
DATABASE_ID
: o ID da base de dados do Spanner à qual quer estabelecer ligação.INSTANCE_ID
: o ID da instância do Spanner à qual quer estabelecer ligação.SQL
: o SQL que quer executar.
Por exemplo, para executar uma declaração 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);"
Para executar uma instrução 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);"
Use uma entrada e uma saída baseadas em ficheiros
Se usar o método de entrada e saída baseado em ficheiros, o Spanner lê a entrada de um ficheiro e escreve a saída noutro ficheiro. Para usar o método de entrada e saída baseado em ficheiros para executar SQL, execute o seguinte comando:
gcloud alpha spanner cli DATABASE_ID --instance INSTANCE_ID \
--source INPUT_FILE_PATH --tee OUTPUT_FILE_PATH
Também pode usar o método de entrada e saída de redirecionamento baseado em ficheiros:
gcloud alpha spanner cli DATABASE_ID --instance INSTANCE_ID \
< INPUT_FILE_PATH > OUTPUT_FILE_PATH
Substitua o seguinte:
DATABASE_ID
: o ID da base de dados do Spanner à qual quer estabelecer ligação.INSTANCE_ID
: o ID da instância do Spanner à qual quer estabelecer ligação.SOURCE_FILE_PATH
: o ficheiro que contém o SQL que quer executar.OUTPUT_FILE_PATH
: o ficheiro com nome para anexar uma cópia da saída SQL.
Inicie uma sessão interativa
Pode iniciar uma sessão interativa da CLI do Spanner, que lhe permite escrever diretamente declarações SQL e metacomandos, e ver os resultados na CLI. Para o fazer, execute o seguinte comando:
gcloud alpha spanner cli DATABASE_ID --instance=INSTANCE_ID
Após a ligação bem-sucedida entre a CLI e a base de dados, é apresentado um comando (por exemplo, spanner-cli>
) onde pode fazer o seguinte:
- Escrever diretamente declarações GoogleSQL:
- Executar transações
- Use metacomandos suportados
Depois de premir a tecla ENTER
, a declaração ou o comando é enviado para a base de dados do Spanner adequada. Em seguida, o Spanner executa a declaração ou o comando.
No exemplo seguinte, inicia uma sessão interativa em test-database
e, em seguida, executa 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)
Execute a instrução DDL
Para executar uma declaração DDL, pode executar o seguinte:
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)
Execute a instrução DML
Para executar uma declaração DML, pode executar o seguinte:
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)
Metacomandos suportados
A CLI do Spanner suporta metacomandos de utilidade, que são comandos que operam no cliente, neste caso, a CLI do Spanner. Os seguintes metacomandos são suportados na CLI do Spanner:
Command | Sintaxe | Descrição |
---|---|---|
? |
\?
|
Apresenta informações de ajuda. Igual a \h .
|
Delimitador |
\d
|
Define o delimitador de declarações. O delimitador predefinido é um ponto e vírgula. |
Sair |
\q
|
Sai da CLI do Spanner. O mesmo que sair. |
Go |
\g
|
Envia e executa a declaração SQL no Spanner. |
Ajuda |
\h
|
Apresenta informações de ajuda. Igual a \? .
|
Notee |
\t
|
Desativa a escrita no ficheiro de saída definido por \T .
|
Comando |
\R
|
Altera o seu comando para uma string de comando do utilizador. |
Sair |
\q
|
Sai da CLI do Spanner. Igual à saída. |
Origem |
\.
|
Executa SQL a partir de um ficheiro de entrada. Usa [filename] como argumento. |
Sistema |
\!
|
Executa um comando de shell do sistema. |
Tee |
\T
|
Anexa o resultado do comando a um [nome do ficheiro] especificado, juntamente com o resultado padrão. |
Utilizar |
\u
|
Estabelece ligação a outra base de dados. Usa o novo nome da base de dados como argumento. |
O que se segue?
- Veja uma lista de todos os
gcloud alpha spanner cli
comandos suportados.