Commandes shell SQL

Ce document récapitule les commandes de l'interface SQL compatibles avec Spanner Omni. Spanner Omni et Spanner sont compatibles avec les mêmes commandes de l'interface SQL.

Syntaxe de la commande Description
SHOW DATABASES; Répertorier les bases de données
USE database_name [ROLE role_name]; Changer de base de données Le rôle que vous définissez est utilisé pour le contrôle des accès précis.
CREATE DATABASE database_name; Créer une base de données
DROP DATABASE database_name; Supprimer une base de données
SHOW TABLES [schema]; Répertorier les tables Si vous ne fournissez pas de schéma, Spanner utilise le schéma par défaut.
SHOW CREATE TABLE table_name; Afficher le schéma de la table
SHOW COLUMNS FROM table_name; Afficher les colonnes
SHOW INDEX FROM table_name; Afficher les index
CREATE TABLE ...; Créer une table
ALTER TABLE ...; Modifier le schéma de la table
DROP TABLE ...; Supprimer une table
TRUNCATE TABLE table_name; Tronquer la table Supprimer uniquement les lignes Cette commande n'est pas atomique, car elle est exécutée en tant qu' instruction LMD partitionnée.
CREATE INDEX ...; Créer un index
DROP INDEX ...; Supprimer un index
CREATE ROLE ...; Créer un rôle Pour en savoir plus, consultez la présentation d'IAM Spanner .
DROP ROLE ...; Supprimer un rôle
GRANT ...; Accorder une autorisation à un rôle
REVOKE ...; Révoquer une autorisation d'un rôle
SELECT ...; Exécuter une requête
{ INSERT|UPDATE|DELETE } ...; Exécuter une instruction LMD
PARTITIONED { UPDATE|DELETE } ...; Exécuter une instruction LMD partitionnée Cette commande n'est pas atomique.
EXPLAIN SELECT ...; Afficher un plan d'exécution de requête Pour en savoir plus, consultez la page Plans d'exécution de requêtes.
EXPLAIN {INSERT|UPDATE|DELETE} ...; Afficher le plan d'exécution LMD
EXPLAIN ANALYZE SELECT ...; Afficher le plan d'exécution de requête avec les statistiques de l'optimiseur Pour en savoir plus, consultez Packages de statistiques de l'optimiseur.
EXPLAIN ANALYZE {INSERT|UPDATE|DELETE} ...; Afficher le plan d'exécution LMD avec les statistiques de l'optimiseur Pour en savoir plus, consultez Packages de statistiques de l'optimiseur.
DESCRIBE SELECT ...; Afficher la forme du résultat de la requête
DESCRIBE {INSERT|UPDATE|DELETE} ... THEN RETURN ...; Afficher la forme du résultat LMD
ANALYZE; Démarrer la construction d'un package de statistiques de l'optimiseur de requêtes
START BATCH DDL; Démarrer un lot LDD
RUN BATCH; Exécuter des commandes par lot
ABORT BATCH; Annuler des commandes par lot
BEGIN [RW] [ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}] [PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name]; Démarrer une transaction en lecture-écriture Pour en savoir plus, consultez la section Commandes de transaction.
COMMIT; Valider une transaction en lecture-écriture
ROLLBACK; Annuler une transaction en lecture-écriture
BEGIN RO [{seconds|RFC 3339-formatted_time}] [PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name]; Démarrer une transaction en lecture seule seconds et RFC 3339-formatted_time sont utilisés pour les lectures non actualisées. Pour en savoir plus, consultez la section Commandes de transaction.
CLOSE; Mettre fin à une transaction en lecture seule
EXIT; Quitter Spanner Omni

Commandes BATCH

Spanner Omni vous permet d'effectuer des opérations LDD en mode batch, ce qui regroupe plusieurs instructions LDD en une seule opération et accélère les modifications de schéma. Spanner Omni est compatible avec les commandes BATCH suivantes :

START BATCH DDL;

Cette commande lance un lot LDD. Toutes les instructions LDD suivantes (par exemple, CREATE TABLE, ALTER TABLE, DROP INDEX) que vous exécutez au cours de cette session restent en attente et ne sont pas appliquées immédiatement à la base de données.

RUN BATCH;

Après avoir exécuté START BATCH DDL et les instructions LDD suivantes, utilisez la commande RUN BATCH pour envoyer toutes les opérations LDD en attente en tant que requête unique à Spanner. Cette commande réduit la surcharge associée aux instructions LDD individuelles, ce qui accélère les modifications de schéma.

ABORT BATCH;

Si vous décidez de ne pas appliquer les modifications LDD en attente, utilisez la commande ABORT BATCH. Cette commande ignore toutes les instructions LDD collectées depuis que vous avez exécuté la commande START BATCH DDL, ce qui annule le lot et laisse le schéma de la base de données inchangé.

Commandes de transaction

Spanner Omni est compatible avec les commandes SQL de transaction suivantes :

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

Lancer une transaction Vous pouvez configurer les options suivantes :

  • Type de transaction : démarrez une transaction en lecture-écriture (aucun paramètre n'est nécessaire) ou en lecture seule (RO).
  • Heure des lectures non actualisées : définissez l'heure, en secondes ou au format RFC 3339, pour lire les données à partir d'un code temporel spécifique.
  • Niveau d'isolation : définissez le niveau d'isolation pour les transactions en lecture-écriture. Par défaut, l'isolation sérialisable est utilisée. Pour en savoir plus, consultez la présentation des niveaux d'isolation.
  • Priorité : définissez la priorité de la requête pour la transaction. La priorité moyenne est définie par défaut.
  • Tag : définissez des tags de transaction à l'aide de la commande BEGIN.

    • Dans une transaction en lecture-écriture, ajoutez un tag avec BEGIN TAG tag. Spanner Omni ajoute le tag en tant que tag de transaction. Le tag est également utilisé comme tag de requête dans la transaction.
    • Dans une transaction en lecture seule, ajoutez un tag avec BEGIN RO TAG tag. Étant donné que les transactions en lecture seule ne sont pas compatibles avec les tags de transaction, Spanner ajoute le tag en tant que tag de requête.

COMMIT;

Finaliser et rendre permanentes toutes les modifications apportées à une transaction en lecture-écriture

CLOSE;

Fermer une transaction en lecture seule

ROLLBACK;

Annuler une transaction en lecture-écriture