Comandi della shell SQL

Questo documento riassume i comandi della shell SQL supportati da Spanner Omni. Spanner Omni e Spanner supportano gli stessi comandi della shell SQL.

Sintassi del comando Descrizione
SHOW DATABASES; Elenca i database.
USE database_name [ROLE role_name]; Cambia database. Il ruolo che imposti viene utilizzato per il controllo dell'accesso granulare.
CREATE DATABASE database_name; Crea database.
DROP DATABASE database_name; Elimina database.
SHOW TABLES [schema]; Elenca tabelle. Se non fornisci uno schema, Spanner utilizza lo schema predefinito.
SHOW CREATE TABLE table_name; Mostra lo schema della tabella.
SHOW COLUMNS FROM table_name; Mostra colonne.
SHOW INDEX FROM table_name; Mostra indici.
CREATE TABLE ...; Crea tabella.
ALTER TABLE ...; Modifica lo schema della tabella.
DROP TABLE ...; Elimina tabella.
TRUNCATE TABLE table_name; Tronca tabella. Elimina solo le righe. Questo comando non è atomico perché viene eseguito come istruzione DML partizionata.
CREATE INDEX ...; Crea indice.
DROP INDEX ...; Elimina indice.
CREATE ROLE ...; Crea ruolo. Per saperne di più, consulta la panoramica di IAM di Spanner.
DROP ROLE ...; Elimina ruolo.
GRANT ...; Concedi l'autorizzazione a un ruolo.
REVOKE ...; Revoca l'autorizzazione da un ruolo.
SELECT ...; Esegui una query.
{ INSERT|UPDATE|DELETE } ...; Esegui un'istruzione DML.
PARTITIONED { UPDATE|DELETE } ...; Esegui un'istruzione DML partizionata. Questo comando non è atomico.
EXPLAIN SELECT ...; Mostra un piano di esecuzione della query. Per saperne di più, consulta Piani di esecuzione delle query.
EXPLAIN {INSERT|UPDATE|DELETE} ...; Mostra il piano di esecuzione DML.
EXPLAIN ANALYZE SELECT ...; Mostra il piano di esecuzione delle query con le statistiche dello strumento di ottimizzazione. Per ulteriori informazioni, consulta Pacchetti di statistiche dell'ottimizzatore.
EXPLAIN ANALYZE {INSERT|UPDATE|DELETE} ...; Mostra il piano di esecuzione DML con le statistiche dell'ottimizzatore. Per ulteriori informazioni, consulta Pacchetti di statistiche dell'ottimizzatore.
DESCRIBE SELECT ...; Mostra la forma del risultato della query.
DESCRIBE {INSERT|UPDATE|DELETE} ... THEN RETURN ...; Mostra la forma del risultato DML.
ANALYZE; Avvia la creazione di un nuovo pacchetto di statistiche dell'ottimizzatore di query.
START BATCH DDL; Avvia un batch DDL.
RUN BATCH; Esegui comandi batch.
ABORT BATCH; Interrompi i comandi batch.
BEGIN [RW] [ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}] [PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name]; Avvia una transazione di lettura/scrittura. Per ulteriori informazioni, consulta Comandi di transazione.
COMMIT; Esegui il commit di una transazione di lettura/scrittura.
ROLLBACK; Eseguire il rollback (annullare) di una transazione di lettura/scrittura.
BEGIN RO [{seconds|RFC 3339-formatted_time}] [PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name]; Avvia una transazione di sola lettura. seconds e RFC 3339-formatted_time vengono utilizzati per le letture non aggiornate. Per ulteriori informazioni, consulta Comandi per le transazioni.
CLOSE; Termina una transazione di sola lettura.
EXIT; Esci da Spanner Omni.

BATCH comandi

Spanner Omni ti consente di eseguire operazioni DDL in modalità batch, che raggruppa più istruzioni DDL in un'unica operazione e accelera le modifiche allo schema. Spanner Omni supporta i seguenti comandi BATCH:

START BATCH DDL;

Questo comando avvia un batch DDL. Tutte le istruzioni DDL successive (ad esempio CREATE TABLE, ALTER TABLE, DROP INDEX) che esegui all'interno di questa sessione rimangono in stato di attesa e non vengono applicate immediatamente al database.

RUN BATCH;

Dopo aver eseguito START BATCH DDL e le successive istruzioni DDL, utilizza il comando RUN BATCH per inviare tutte le operazioni DDL in attesa come singola richiesta a Spanner. Questo comando riduce l'overhead associato alle singole istruzioni DDL, il che comporta modifiche più rapide dello schema.

ABORT BATCH;

Se decidi di non applicare le modifiche DDL in attesa, utilizza il comando ABORT BATCH. Questo comando ignora tutte le istruzioni DDL raccolte dall'emissione del comando START BATCH DDL, eseguendo il rollback del batch e lasciando invariato lo schema del database.

Comandi per le transazioni

Spanner Omni supporta i seguenti comandi SQL per le transazioni:

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

Avvia una transazione. Puoi configurare le seguenti opzioni:

  • Tipo di transazione: avvia una transazione di lettura/scrittura (nessun parametro necessario) o di sola lettura (RO).
  • Tempo di lettura non aggiornata: imposta il tempo, in secondi o nel formato RFC 3339, per leggere i dati da un timestamp specifico.
  • Livello di isolamento: imposta il livello di isolamento per le transazioni di lettura/scrittura. Per impostazione predefinita, viene utilizzato l'isolamento serializzabile. Per saperne di più, consulta la Panoramica dei livelli di isolamento.
  • Priorità: imposta la priorità della richiesta per la transazione. La priorità media è impostata per impostazione predefinita.
  • Tag: imposta i tag transazione utilizzando il comando BEGIN.

    • In una transazione di lettura/scrittura, aggiungi un tag con BEGIN TAG tag. Spanner Omni aggiunge il tag come tag di transazione. Il tag viene utilizzato anche come tag di richiesta all'interno della transazione.
    • In una transazione di sola lettura, aggiungi un tag con BEGIN RO TAG tag. Poiché le transazioni di sola lettura non supportano i tag di transazione, Spanner aggiunge il tag come tag di richiesta.

COMMIT;

Finalizza e rendi permanenti tutte le modifiche in una transazione di lettura/scrittura.

CLOSE;

Chiudi una transazione di sola lettura.

ROLLBACK;

Eseguire il rollback (annullare) di una transazione di lettura/scrittura.