Comandos de la CLI de Spanner

En esta página se resumen los comandos admitidos de la CLI de Spanner.

Sintaxis del comando Descripción
SHOW DATABASES; Muestra bases de datos.
USE database_name [ROLE role_name]; Cambiar de base de datos. El rol que definas se usará para el control de acceso pormenorizado.
CREATE DATABASE database_name; Crea la base de datos.
DROP DATABASE database_name; Eliminar base de datos.
SHOW TABLES [schema]; Mostrar lista de tablas. Si no proporciona un esquema, Spanner utiliza el esquema predeterminado.
SHOW CREATE TABLE table_name; Mostrar el esquema de la tabla.
SHOW COLUMNS FROM table_name; Mostrar columnas.
SHOW INDEX FROM table_name; Mostrar índices.
CREATE TABLE ...; Crea una tabla.
ALTER TABLE ...; Cambiar el esquema de la tabla.
DROP TABLE ...; Eliminar tabla.
TRUNCATE TABLE table_name; Truncar tabla. Eliminar solo las filas. Este comando no es atómico porque se ejecuta como una declaración de DML particionada.
CREATE INDEX ...; Crea un índice.
DROP INDEX ...; Eliminar índice.
CREATE ROLE ...; Crear rol. Para obtener más información, consulta la descripción general de la gestión de identidades y accesos de Spanner.
DROP ROLE ...; Eliminar rol.
GRANT ...; Concede permisos a un rol.
REVOKE ...; Revocar el permiso de un rol.
SELECT ...; Ejecuta una consulta.
{ INSERT|UPDATE|DELETE } ...; Ejecuta una instrucción DML.
PARTITIONED { UPDATE|DELETE } ...; Ejecuta una instrucción DML particionada. Este comando no es atómico.
EXPLAIN SELECT ...; Mostrar un plan de ejecución de consultas. Para obtener más información, consulta Planes de ejecución de consultas.
EXPLAIN {INSERT|UPDATE|DELETE} ...; Muestra el plan de ejecución de DML.
EXPLAIN ANALYZE SELECT ...; Muestra el plan de ejecución de consultas con estadísticas del optimizador. Para obtener más información, consulta Paquetes de estadísticas de Optimizer.
EXPLAIN ANALYZE {INSERT|UPDATE|DELETE} ...; Muestra el plan de ejecución de DML con estadísticas del optimizador. Para obtener más información, consulta Paquetes de estadísticas de Optimizer.
DESCRIBE SELECT ...; Mostrar la forma del resultado de la consulta.
DESCRIBE {INSERT|UPDATE|DELETE} ... THEN RETURN ...; Muestra la forma del resultado de DML.
ANALYZE; Inicia la creación de un nuevo paquete de estadísticas del optimizador de consultas.
START BATCH DDL; Inicia un lote de DDL.
RUN BATCH; Ejecuta comandos por lotes.
ABORT BATCH; Abortar comandos por lotes.
BEGIN [RW] [ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}] [PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name]; Inicia una transacción de lectura y escritura. Para obtener más información, consulta Comandos de Transaction.
COMMIT; Confirma una transacción de lectura y escritura.
ROLLBACK; Restaurar (deshacer) una transacción de lectura y escritura.
BEGIN RO [{seconds|RFC 3339-formatted_time}] [PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name]; Inicia una transacción de solo lectura. seconds y RFC 3339-formatted_time se usan para lecturas obsoletas. Para obtener más información, consulta Comandos Transaction.
CLOSE; Finaliza una transacción de solo lectura.
EXIT; Sal de la CLI de Spanner.

Comandos de BATCH

La CLI de Spanner te permite realizar operaciones DDL en modo por lotes, lo que agrupa varias instrucciones DDL en una sola operación y acelera los cambios de esquema. La CLI de Spanner admite los siguientes comandos BATCH:

START BATCH DDL;

Este comando inicia un lote de DDL. Todas las instrucciones DDL posteriores (por ejemplo, CREATE TABLE, ALTER TABLE y DROP INDEX) que ejecutes en esta sesión permanecerán en estado pendiente y no se aplicarán a la base de datos inmediatamente.

RUN BATCH;

Después de ejecutar START BATCH DDL y las instrucciones DDL posteriores, usa el comando RUN BATCH para enviar todas las operaciones DDL pendientes como una sola solicitud a Spanner. Este comando reduce la sobrecarga asociada a las instrucciones DDL individuales, lo que conlleva modificaciones de esquemas más rápidas.

ABORT BATCH;

Si decides no aplicar los cambios de DDL pendientes, usa el comando ABORT BATCH. Este comando descarta todas las instrucciones DDL recogidas desde que emitiste el comando START BATCH DDL, lo que revierte el lote y deja el esquema de la base de datos sin cambios.

Comandos de transacción

La CLI de Spanner admite los siguientes comandos SQL de transacciones:

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

Inicia una transacción. Puedes configurar estas opciones:

  • Tipo de transacción: inicia una transacción de lectura y escritura (no se necesita ningún parámetro) o de solo lectura (RO).
  • Tiempo de lectura obsoleto: define el tiempo, en segundos o en formato RFC 3339, para leer datos de una marca de tiempo específica.
  • Nivel de aislamiento: define el nivel de aislamiento de las transacciones de lectura y escritura. De forma predeterminada, se usa el aislamiento serializable. Para obtener más información, consulta el resumen de los niveles de aislamiento.
  • Prioridad: define la prioridad de la solicitud de la transacción. La prioridad media se define de forma predeterminada.
  • Etiqueta: define etiquetas de transacción con el comando BEGIN.

    • En una transacción de lectura y escritura, añade una etiqueta con BEGIN TAG tag. La CLI de Spanner añade la etiqueta como etiqueta de transacción. La etiqueta también se usa como etiqueta de solicitud en la transacción.
    • En una transacción de solo lectura, añade una etiqueta con BEGIN RO TAG tag. Como las transacciones de solo lectura no admiten etiquetas de transacción, Spanner añade la etiqueta como etiqueta de solicitud.

COMMIT;

Finaliza y hace permanentes todos los cambios en una transacción de lectura y escritura.

CLOSE;

Cierra una transacción de solo lectura.

ROLLBACK;

Restaurar (deshacer) una transacción de lectura y escritura.

Siguientes pasos