Commandes shell SQL

Ce document récapitule les commandes du shell SQL compatibles avec Spanner Omni. Spanner Omni et Spanner sont compatibles avec les mêmes commandes de shell SQL.

Syntaxe de la commande Description
SHOW DATABASES; Répertorier les bases de données
USE database_name [ROLE role_name]; Changez de base de données. Le rôle que vous définissez est utilisé pour le contrôle des accès ultraprécis.
CREATE DATABASE database_name; Créez une base de données.
DROP DATABASE database_name; Supprimez la base de données.
SHOW TABLES [schema]; Répertoriez les tables. Si vous ne fournissez pas de schéma, Spanner utilise le schéma par défaut.
SHOW CREATE TABLE table_name; Affichez le schéma de la table.
SHOW COLUMNS FROM table_name; Afficher les colonnes.
SHOW INDEX FROM table_name; Affichez les index.
CREATE TABLE ...; Créer une table
ALTER TABLE ...; Modifier le schéma de la table.
DROP TABLE ...; Supprimer le tableau
TRUNCATE TABLE table_name; Tronquer la table Supprimez 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éez un index.
DROP INDEX ...; Supprimez l'index.
CREATE ROLE ...; Créez un rôle. Pour en savoir plus, consultez la présentation d'IAM pour Spanner.
DROP ROLE ...; Supprimez le rôle.
GRANT ...; Accorder une autorisation à un rôle
REVOKE ...; Révoquez l'autorisation d'un rôle.
SELECT ...; Exécutez une requête.
{ INSERT|UPDATE|DELETE } ...; Exécutez une instruction LMD.
PARTITIONED { UPDATE|DELETE } ...; Exécutez une instruction LMD partitionnée. Cette commande n'est pas atomique.
EXPLAIN SELECT ...; Affichez un plan d'exécution de requête. Pour en savoir plus, consultez Plans d'exécution des requêtes.
EXPLAIN {INSERT|UPDATE|DELETE} ...; Affiche le plan d'exécution LMD.
EXPLAIN ANALYZE SELECT ...; Affichez le plan d'exécution des requêtes avec les statistiques de l'optimiseur. Pour en savoir plus, consultez Packages de statistiques de l'optimiseur.
EXPLAIN ANALYZE {INSERT|UPDATE|DELETE} ...; Affichez 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 ...; Affichez la forme du résultat du LMD.
ANALYZE; Commencez à créer un package de statistiques d'optimiseur de requête.
START BATCH DDL; Démarrez un lot LDD.
RUN BATCH; Exécutez des commandes par lot.
ABORT BATCH; Annule les commandes par lot.
BEGIN [RW] [ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}] [PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name]; Démarrez une transaction en lecture-écriture. Pour en savoir plus, consultez Commandes de transaction.
COMMIT; Validez une transaction en lecture-écriture.
ROLLBACK; Effectuez un rollback (annulez) d'une transaction en lecture-écriture.
BEGIN RO [{seconds|RFC 3339-formatted_time}] [PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name]; Démarrez 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 Commandes de transaction.
CLOSE; Mettre fin à une transaction en lecture seule.
EXIT; Quittez Spanner Omni.

Commandes BATCH

Spanner Omni vous permet d'effectuer des opérations LDD en mode batch, 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 dans cette session restent à l'état "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 sous forme de 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 supprime toutes les instructions LDD collectées depuis l'exécution de la commande START BATCH DDL, ce qui permet d'annuler le lot et de laisser le schéma de 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];

Lancez 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 de lecture obsolète : 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 et en écriture. Par défaut, l'isolation sérialisable est utilisée. Pour en savoir plus, consultez 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 les 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. La balise est également utilisée comme balise 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;

Finalisez et rendez permanentes toutes les modifications apportées à une transaction en lecture-écriture.

CLOSE;

Fermez une transaction en lecture seule.

ROLLBACK;

Effectuez un rollback (annulez) d'une transaction en lecture-écriture.