Commandes CLI Spanner

Cette page récapitule les commandes compatibles avec la CLI Spanner.

Syntaxe des commandes 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 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; Affiche 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 ...; Modifiez le schéma de la table.
DROP TABLE ...; Supprimez le tableau.
TRUNCATE TABLE table_name; Tronquez 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 ...; Supprimer 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écuter 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 ...; Afficher un plan d'exécution de requête. Pour en savoir plus, consultez Plans d'exécution de requêtes.
EXPLAIN {INSERT|UPDATE|DELETE} ...; Affichez le plan d'exécution DML.
EXPLAIN ANALYZE SELECT ...; Affiche le plan d'exécution de la requête 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 ...; Affiche la forme du résultat du LMD.
ANALYZE; Commence la construction d'un package de statistiques de l'optimiseur de requêtes.
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; Mettez fin à une transaction en lecture seule.
EXIT; Quittez la CLI Spanner.

Commandes BATCH

L'interface de ligne de commande Spanner 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. La CLI Spanner est compatible avec les commandes BATCH suivantes :

START BATCH DDL;

Cette commande lance un lot DDL. 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 DDL suivantes, utilisez la commande RUN BATCH pour envoyer toutes les opérations DDL en attente sous forme de requête unique à Spanner. Cette commande réduit la surcharge associée aux instructions DDL individuelles, ce qui accélère les modifications de schéma.

ABORT BATCH;

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

Commandes de transaction

L'interface de ligne de commande Spanner accepte 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-é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. La CLI Spanner ajoute le tag en tant que tag de transaction. La balise est également utilisée comme balise de demande 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.

Étapes suivantes