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
|
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
|
Créer une base de données |
DROP DATABASE
|
Supprimer une base de données |
SHOW TABLES [
|
Répertorier les tables Si vous ne fournissez pas de schéma, Spanner utilise le schéma par défaut. |
SHOW CREATE TABLE
|
Afficher le schéma de la table |
SHOW COLUMNS FROM
|
Afficher les colonnes |
SHOW INDEX FROM
|
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
|
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
|
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 [{
|
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.
- Dans une transaction en lecture-écriture, ajoutez un tag avec
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