Este documento resume os comandos do shell SQL compatíveis com o Spanner Omni. O Spanner Omni e o Spanner são compatíveis com os mesmos comandos do shell SQL.
| Sintaxe de comando | Descrição |
|---|---|
SHOW DATABASES;
|
Lista bancos de dados |
USE
|
Troque o banco de dados. O papel definido é usado para controle de acesso refinado. |
CREATE DATABASE
|
Crie o banco de dados. |
DROP DATABASE
|
Excluir banco de dados. |
SHOW TABLES [
|
Listar tabelas. Se você não fornecer um esquema, o Spanner usará o esquema padrão. |
SHOW CREATE TABLE
|
Mostrar esquema da tabela. |
SHOW COLUMNS FROM
|
Mostrar colunas. |
SHOW INDEX FROM
|
Mostrar índices. |
CREATE TABLE ...;
|
"Criar tabela". |
ALTER TABLE ...;
|
Mude o esquema da tabela. |
DROP TABLE ...;
|
Excluir tabela. |
TRUNCATE TABLE
|
Truncar tabela. Exclua apenas as linhas. Esse comando não é atômico porque é executado como uma instrução DML particionada. |
CREATE INDEX ...;
|
Crie um índice. |
DROP INDEX ...;
|
Excluir índice. |
CREATE ROLE ...;
|
Criar papel. Para mais informações, consulte a visão geral do IAM do Spanner. |
DROP ROLE ...;
|
Excluir função. |
GRANT ...;
|
Conceda permissão a uma função. |
REVOKE ...;
|
Revogar uma permissão de um papel. |
SELECT ...;
|
executar uma consulta. |
{ INSERT|UPDATE|DELETE } ...;
|
Executa uma instrução DML. |
PARTITIONED { UPDATE|DELETE } ...;
|
Executa uma instrução DML particionada. Esse comando não é atômico. |
EXPLAIN SELECT ...;
|
Mostra um plano de execução de consulta. Para mais informações, consulte Planos de execução de consulta. |
EXPLAIN {INSERT|UPDATE|DELETE} ...;
|
Mostra o plano de execução de DML. |
EXPLAIN ANALYZE SELECT ...;
|
Mostra o plano de execução da consulta com estatísticas do otimizador. Para mais informações, consulte Pacotes de estatísticas do otimizador. |
EXPLAIN ANALYZE {INSERT|UPDATE|DELETE} ...;
|
Mostra o plano de execução de DML com estatísticas do otimizador. Para mais informações, consulte Pacotes de estatísticas do otimizador. |
DESCRIBE SELECT ...;
|
Mostrar a forma do resultado da consulta. |
DESCRIBE {INSERT|UPDATE|DELETE} ... THEN RETURN ...;
|
Mostrar a forma do resultado da DML. |
ANALYZE;
|
Inicia a criação de um pacote de estatísticas do otimizador de consultas. |
START BATCH DDL;
|
Inicia um lote de DDL. |
RUN BATCH;
|
Executar comandos em lote. |
ABORT BATCH;
|
Interrompe comandos em lote. |
BEGIN [RW] [ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}]
[PRIORITY {HIGH|MEDIUM|LOW}] [TAG
|
Inicie uma transação de leitura/gravação. Para mais informações, consulte Comandos de transação. |
COMMIT;
|
Confirme uma transação de leitura/gravação. |
ROLLBACK;
|
Reverter (desfazer) uma transação de leitura/gravação. |
BEGIN RO [{
|
Inicie uma transação somente leitura. seconds e RFC 3339-formatted_time são usados para leituras desatualizadas. Para mais informações, consulte Comandos de transação. |
CLOSE;
|
Encerra uma transação somente leitura. |
EXIT;
|
Saia do Spanner Omni. |
Comandos BATCH
Com o Spanner Omni, é possível realizar operações DDL no modo em lote, que agrupa várias instruções DDL em uma única operação e acelera as mudanças de esquema. O Spanner Omni é compatível com os seguintes comandos BATCH:
START BATCH DDL;
Esse comando inicia um lote de DDL. Todas as instruções DDL subsequentes (por exemplo, CREATE TABLE, ALTER TABLE, DROP INDEX) executadas nessa sessão permanecem em um estado pendente e não são aplicadas ao banco de dados imediatamente.
RUN BATCH;
Depois de executar START BATCH DDL e as instruções DDL subsequentes, use o comando RUN
BATCH para enviar todas as operações DDL pendentes como uma única solicitação ao
Spanner. Esse comando reduz a sobrecarga associada a instruções DDL individuais, resultando em modificações de esquema mais rápidas.
ABORT BATCH;
Se você decidir não aplicar as mudanças pendentes de DDL, use o comando ABORT BATCH. Esse comando descarta todas as instruções DDL coletadas desde que você emitiu o
comando START BATCH DDL, revertendo o lote e deixando o
esquema do banco de dados inalterado.
Comandos de transação
O Spanner Omni é compatível com 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. É possível configurar estas opções:
- Tipo de transação: inicie uma transação de leitura/gravação (sem necessidade de parâmetro) ou somente leitura (
RO). - Tempo de leitura desatualizada: defina o tempo, em segundos ou no formato RFC 3339, para ler dados de um carimbo de data/hora específico.
- Nível de isolamento: defina o nível de isolamento para transações de leitura e gravação. Por padrão, o isolamento serializável é usado. Para mais informações, consulte Visão geral dos níveis de isolamento.
- Prioridade: defina a prioridade da solicitação para a transação. A prioridade média é definida por padrão.
Tag: defina tags de transação usando o comando
BEGIN.- Em uma transação de leitura/gravação, adicione uma tag com
BEGIN TAG tag. O Spanner Omni adiciona a tag como uma tag de transação. A tag também é usada como uma tag de solicitação na transação. - Em uma transação somente leitura, adicione uma tag com
BEGIN RO TAG tag. Como as transações somente leitura não são compatíveis com tags de transação, o Spanner adiciona a tag como uma tag de solicitação.
- Em uma transação de leitura/gravação, adicione uma tag com
COMMIT;
Finalize e torne permanentes todas as mudanças em uma transação de leitura/gravação.
CLOSE;
Encerra uma transação somente leitura.
ROLLBACK;
Reverter (desfazer) uma transação de leitura/gravação.