En esta página se presenta la CLI de Spanner y se explica cómo usarla.
La CLI de Spanner es una interfaz de línea de comandos (CLI) que te permite conectarte e interactuar con tu base de datos de Spanner. Se incorpora a la interfaz de línea de comandos de Google Cloud (gcloud CLI) para interactuar con Spanner. Puedes usar la CLI de Spanner para ejecutar directamente instrucciones de GoogleSQL en tu base de datos de Spanner. Las instrucciones pueden ser del lenguaje de definición de datos (DDL), del lenguaje de manipulación de datos (DML) o del lenguaje de consulta de datos (DQL). Puedes usar la CLI de Spanner para ejecutar secuencias de comandos SQL y automatizar tareas.
Para obtener más información, consulta la lista de todos los comandos de gcloud alpha spanner cli
admitidos.
Principales ventajas
Estas son las principales ventajas de la CLI de Spanner:
- Ejecuta comandos SQL DDL, DML y DQL.
- Puedes escribir y ejecutar instrucciones SQL en varias líneas.
- Admite metacomandos para ayudarte con tareas del sistema, como ejecutar un comando de shell del sistema y ejecutar SQL desde un archivo.
- Puedes automatizar las ejecuciones de SQL escribiendo una serie de instrucciones SQL en un archivo de secuencia de comandos y, a continuación, indicando a la CLI de Spanner que ejecute la secuencia de comandos. Además, puedes redirigir la salida a un archivo de salida.
- Puedes iniciar una sesión interactiva de la CLI de Spanner, que te permite escribir directamente instrucciones SQL y metacomandos, y ver los resultados en la CLI.
Antes de empezar
La CLI de Spanner está disponible en la CLI de gcloud. Cuando ejecutas el comando gcloud alpha spanner cli
por primera vez, la CLI de gcloud instala automáticamente el componente de la CLI de Spanner.
Usar la CLI de Spanner
Ejecuta el siguiente comando para iniciar la CLI de Spanner e interactuar con tu base de datos de Spanner:
gcloud alpha spanner cli DATABASE_ID --instance=INSTANCE_ID
Haz los cambios siguientes:
DATABASE_ID
: el ID de la base de datos de Spanner. Es el nombre que has usado en el paso anterior Crear una base de datos. Puede usar el comandogcloud spanner databases list
para enumerar las bases de datos de Spanner que contiene la instancia dada.INSTANCE_ID
: el ID de la instancia de Spanner. Es el nombre que has usado en el paso anterior Crear una instancia. Puedes usar el comandogcloud spanner instances list
para enumerar las instancias de Spanner que contiene el proyecto indicado.
Ejecutar SQL
Puedes ejecutar instrucciones SQL en la CLI de Spanner mediante la opción execute
o con un método de entrada y salida basado en archivos. Las instrucciones SQL pueden incluir DDL, DML o DQL.
Usar la marca execute
Para usar la marca execute
para ejecutar SQL, ejecuta el siguiente comando gcloud alpha spanner cli
:
gcloud alpha spanner cli DATABASE_ID --instance INSTANCE_ID \
--execute "SQL"
Haz los cambios siguientes:
DATABASE_ID
: el ID de la base de datos de Spanner a la que quieres conectarte.INSTANCE_ID
: el ID de la instancia de Spanner a la que quieras conectarte.SQL
: el SQL que quieres ejecutar.
Por ejemplo, para ejecutar una instrucción DDL:
gcloud alpha spanner cli test-database --instance test-instance \
--execute "CREATE TABLE Singers ( \
SingerId INT64 NOT NULL, \
FirstName STRING(1024), \
LastName STRING(1024), \
SingerInfo STRING(1024), \
BirthDate DATE \
) PRIMARY KEY(SingerId);"
Para ejecutar una instrucción DML, sigue estos pasos:
gcloud alpha spanner cli test-database --instance test-instance \
--execute "INSERT INTO Singers (SingerId, FirstName, LastName, SingerInfo) \
VALUES(1, 'Marc', 'Richards', 'nationality: USA'), \
(2, 'Catalina', 'Smith', 'nationality: Brazil'), \
(3, 'Andrew', 'Duneskipper', NULL);"
Usar una entrada y una salida basadas en archivos
Si usas el método de entrada y salida basado en archivos, Spanner lee los datos de entrada de un archivo y escribe los datos de salida en otro archivo. Para usar el método de entrada y salida basado en archivos para ejecutar SQL, ejecuta el siguiente comando:
gcloud alpha spanner cli DATABASE_ID --instance INSTANCE_ID \
--source INPUT_FILE_PATH --tee OUTPUT_FILE_PATH
También puedes usar el método de entrada y salida de redirección basado en archivos:
gcloud alpha spanner cli DATABASE_ID --instance INSTANCE_ID \
< INPUT_FILE_PATH > OUTPUT_FILE_PATH
Haz los cambios siguientes:
DATABASE_ID
: el ID de la base de datos de Spanner a la que quieres conectarte.INSTANCE_ID
: el ID de la instancia de Spanner a la que quieras conectarte.SOURCE_FILE_PATH
: el archivo que contiene el SQL que quieres ejecutar.OUTPUT_FILE_PATH
: el archivo con el nombre al que se añadirá una copia de la salida de SQL.
Iniciar una sesión interactiva
Puedes iniciar una sesión interactiva de la CLI de Spanner, que te permite escribir directamente instrucciones SQL y metacomandos, así como ver los resultados en la CLI. Para ello, ejecuta el siguiente comando:
gcloud alpha spanner cli DATABASE_ID --instance=INSTANCE_ID
Cuando la CLI se conecte correctamente a tu base de datos, verás una petición (por ejemplo, spanner-cli>
) en la que podrás hacer lo siguiente:
- Escribe directamente instrucciones de GoogleSQL:
- Ejecutar transacciones
- Usar metacomandos admitidos
Después de pulsar la tecla ENTER
, la instrucción o el comando se envía a la base de datos de Spanner correspondiente. A continuación, Spanner ejecuta la instrucción o el comando.
En el siguiente ejemplo, inicias una sesión interactiva en test-database
y, a continuación, ejecutas SELECT 1;
:
gcloud alpha spanner cli test-database --instance test-instance
Welcome to Spanner-Cli Client.
Type 'help;' or '\h' for help.
Type 'exit;' or 'quit;' or '\q' to exit.
spanner-cli> SELECT 1;
+---+
| |
+---+
| 1 |
+---+
1 rows in set (1.11 msecs)
Ejecutar instrucción DDL
Para ejecutar una instrucción DDL, puedes ejecutar lo siguiente:
spanner-cli> CREATE TABLE Singers (
-> SingerId INT64 NOT NULL,
-> FirstName STRING(1024),
-> LastName STRING(1024),
-> SingerInfo STRING(1024),
-> BirthDate DATE
-> ) PRIMARY KEY(SingerId);
Query OK, 0 rows affected (17.08 sec)
Ejecutar instrucción DML
Para ejecutar una instrucción DML, puedes ejecutar lo siguiente:
spanner-cli> INSERT INTO Singers (SingerId, FirstName, LastName, SingerInfo)
-> VALUES(1, 'Marc', 'Richards', 'nationality: USA'),
-> (2, 'Catalina', 'Smith', 'nationality: Brazil'),
-> (3, 'Andrew', 'Duneskipper', NULL);
Query OK, 3 rows affected (0.32 sec)
Metacomandos admitidos
La CLI de Spanner admite metacomandos de utilidad, que son comandos que operan en el cliente, en este caso, la CLI de Spanner. Se admiten los siguientes metacomandos en la CLI de Spanner:
Comando | Sintaxis | Descripción |
---|---|---|
? |
\?
|
Muestra información de ayuda. Igual que \h .
|
Delimitador |
\d
|
Define el delimitador de la instrucción. El delimitador predeterminado es el punto y coma. |
Salir |
\q
|
Sale de la CLI de Spanner. Es lo mismo que salir. |
Go |
\g
|
Envía y ejecuta una instrucción SQL en Spanner. |
Ayuda |
\h
|
Muestra información de ayuda. Igual que \? .
|
Nota |
\t
|
Desactiva la escritura en el archivo de salida definido por \T .
|
Petición |
\R
|
Convierte tu petición en una cadena de petición de usuario. |
Salir |
\q
|
Sale de la CLI de Spanner. Igual que la salida. |
Fuente |
\.
|
Ejecuta SQL desde un archivo de entrada. Usa [filename] como argumento. |
Sistema |
\!
|
Ejecuta un comando de shell del sistema. |
Tee |
\T
|
Añade la salida del comando a un [nombre_de_archivo] especificado junto con la salida estándar. |
Uso |
\u
|
Se conecta a otra base de datos. Usa el nuevo nombre de la base de datos como argumento. |
Siguientes pasos
- Consulta una lista de todos los comandos de
gcloud alpha spanner cli
compatibles.