Comandos da CLI do Spanner

Esta página resume os comandos suportados da CLI do Spanner.

Sintaxe dos comandos Descrição
SHOW DATABASES; Listar bases de dados.
USE database_name [ROLE role_name]; Mude de base de dados. A função que define é usada para o controlo de acesso detalhado.
CREATE DATABASE database_name; Criar base de dados.
DROP DATABASE database_name; Eliminar base de dados.
SHOW TABLES [schema]; Listar tabelas. Se não fornecer um esquema, o Spanner usa o esquema predefinido.
SHOW CREATE TABLE table_name; Mostrar esquema da tabela.
SHOW COLUMNS FROM table_name; Mostrar colunas.
SHOW INDEX FROM table_name; Mostrar índices.
CREATE TABLE ...; Criar tabela.
ALTER TABLE ...; Alterar o esquema da tabela.
DROP TABLE ...; Eliminar tabela.
TRUNCATE TABLE table_name; Truncar tabela. Eliminar apenas linhas. Este comando não é atómico porque é executado como uma declaração DML particionada.
CREATE INDEX ...; Crie um índice.
DROP INDEX ...; Eliminar índice.
CREATE ROLE ...; Crie a função. Para mais informações, consulte a vista geral do IAM do Spanner.
DROP ROLE ...; Elimine a função.
GRANT ...; Conceda autorização a uma função.
REVOKE ...; Revogue a autorização de uma função.
SELECT ...; Execute uma consulta.
{ INSERT|UPDATE|DELETE } ...; Executar uma instrução DML.
PARTITIONED { UPDATE|DELETE } ...; Executar uma instrução DML particionada. Este comando não é atómico.
EXPLAIN SELECT ...; Mostrar um plano de execução de consultas. Para mais informações, consulte os planos de execução de consultas.
EXPLAIN {INSERT|UPDATE|DELETE} ...; Mostrar o plano de execução de DML.
EXPLAIN ANALYZE SELECT ...; Mostrar o plano de execução da consulta com estatísticas do otimizador. Para mais informações, consulte o artigo Pacotes de estatísticas do otimizador.
EXPLAIN ANALYZE {INSERT|UPDATE|DELETE} ...; Mostrar o plano de execução da DML com estatísticas do otimizador. Para mais informações, consulte o artigo Pacotes de estatísticas do otimizador.
DESCRIBE SELECT ...; Mostrar forma do resultado da consulta.
DESCRIBE {INSERT|UPDATE|DELETE} ... THEN RETURN ...; Mostrar a forma do resultado DML.
ANALYZE; Inicie uma nova construção de pacote de estatísticas do otimizador de consultas.
START BATCH DDL; Inicie um lote de DDL.
RUN BATCH; Executar comandos em lote.
ABORT BATCH; Anular comandos em lote.
BEGIN [RW] [ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}] [PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name]; Inicie uma transação de leitura/escrita. Para mais informações, consulte o artigo Comandos de transação.
COMMIT; Confirme uma transação de leitura/escrita.
ROLLBACK; Reverter (anular) uma transação de leitura/escrita.
BEGIN RO [{seconds|RFC 3339-formatted_time}] [PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name]; Inicie uma transação só de leitura. seconds e RFC 3339-formatted_time são usados para leituras desatualizadas. Para mais informações, consulte o artigo Comandos de transação.
CLOSE; Terminar uma transação só de leitura.
EXIT; Saia da CLI do Spanner.

BATCH comandos

A CLI do Spanner permite-lhe realizar operações DDL no modo de lote, que agrupa várias declarações DDL numa única operação e acelera as alterações ao esquema. A CLI do Spanner suporta os seguintes comandos BATCH:

START BATCH DDL;

Este comando inicia um lote de LDD. Todas as declarações DDL subsequentes (por exemplo, CREATE TABLE, ALTER TABLE, DROP INDEX) que executar nesta sessão permanecem num estado pendente e não são aplicadas imediatamente à base de dados.

RUN BATCH;

Após executar START BATCH DDL e as declarações de LDD subsequentes, use o comando RUN BATCH para enviar todas as operações de LDD pendentes como um único pedido para o Spanner. Este comando reduz a sobrecarga associada às declarações LDD individuais, o que leva a modificações mais rápidas do esquema.

ABORT BATCH;

Se decidir não aplicar as alterações pendentes do LDD, use o comando ABORT BATCH. Este comando rejeita todas as declarações DDL recolhidas desde que emitiu o comando START BATCH DDL, revertendo efetivamente o lote e deixando o esquema da base de dados inalterado.

Comandos de transação

A CLI do Spanner suporta os seguintes comandos SQL de transação:

BEGIN [TRANSACTION] [RO] [seconds|RFC 3339-formatted_time ] [ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}] [PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name];

Inicie uma transação. Pode configurar estas opções:

  • Tipo de transação: iniciar uma transação de leitura/escrita (não é necessário nenhum parâmetro) ou apenas de leitura (RO).
  • Tempo de leituras desatualizadas: defina o tempo, em segundos ou no formato RFC 3339, para ler dados de uma data/hora específica.
  • Nível de isolamento: defina o nível de isolamento para transações de leitura/escrita. Por predefinição, é usado o isolamento serializável. Para mais informações, consulte o artigo Vista geral dos níveis de isolamento.
  • Prioridade: defina a prioridade do pedido para a transação. A prioridade média está definida por predefinição.
  • Etiqueta: defina etiquetas de transações com o comando BEGIN.

    • Numa transação de leitura/escrita, adicione uma etiqueta com BEGIN TAG tag. A CLI do Spanner adiciona a etiqueta como uma etiqueta de transação. A etiqueta também é usada como uma etiqueta de pedido na transação.
    • Numa transação só de leitura, adicione uma etiqueta com BEGIN RO TAG tag. Uma vez que as transações só de leitura não suportam etiquetas de transação, o Spanner adiciona a etiqueta como uma etiqueta de pedido.

COMMIT;

Finalizar e tornar permanentes todas as alterações numa transação de leitura/escrita.

CLOSE;

Feche uma transação só de leitura.

ROLLBACK;

Reverter (anular) uma transação de leitura/escrita.

O que se segue?