En esta guía de inicio rápido, se muestra cómo realizar operaciones básicas en Spanner con la console de Google Cloud. Esto es lo que harás en la guía de inicio rápido:
- Crear una instancia de Spanner
- Crea una base de datos.
- Crea un esquema.
- Insertar y modificar datos
- Ejecutar una consulta
Para obtener información sobre el costo de usar Spanner, consulta Precios.
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Opcional: La API de Spanner se debe habilitar automáticamente. De lo contrario, habilítala de forma manual: Habilitar la API de Spanner
-
A fin de obtener los permisos que necesitas para crear instancias y bases de datos, solicita a tu administrador que te otorgue el Administrador de Cloud Spanner (`roles/spanner.admin`) de IAM en tu proyecto.
Crea una instancia
Cuando usas Spanner por primera vez, debes crear una instancia, que es un de recursos que usan las bases de datos de Spanner en ese instancia.
En la consola de Google Cloud, ve a la página Spanner.
Selecciona o crea un proyecto de Google Cloud si aún no lo has hecho.
En la página Spanner, haz clic en Crear una instancia aprovisionada.
Si ya usaste Spanner, verás el botón Página Instancias de Spanner en lugar de la página del producto Haz clic en Crea una instancia.
En la página Asigna un nombre a tu instancia, ingresa un nombre de instancia, como Instancia de prueba.
El ID de la instancia se ingresa automáticamente según el nombre de la instancia, por ejemplo, test-instance. Si es necesario, cámbialo. Haga clic en Continuar.
En la página Configura tu instancia, conserva la opción predeterminada Regional y selecciona una configuración del menú desplegable.
La configuración de tu instancia determina la ubicación geográfica donde tus instancias se almacenan y se replican.
Haga clic en Continuar.
En la página Asignar capacidad de procesamiento, selecciona Unidades de procesamiento (PU). y retienes el valor predeterminado de 1,000 unidades de procesamiento.
Haz clic en Crear.
En la consola de Google Cloud, se muestra la página Descripción general de la instancia que creaste.
Crea una base de datos
En la consola de Google Cloud, ve a la página Instancias de Spanner.
Haz clic en la instancia que creaste, por ejemplo, Instancia de prueba.
En la página Resumen de la instancia que se abre, haz clic en Crear base de datos.
Ingresa un nombre como example-db como el nombre de la base de datos.
Selecciona un dialecto de la base de datos.
Para obtener información sobre la compatibilidad con PostgreSQL y orientación para elegir un dialecto, consulta Interfaz de PostgreSQL. Si seleccionaste GoogleSQL, definirás el esquema en el campo de texto Define tu esquema en la siguiente sección de esta guía de inicio rápido.
La página de creación de la base de datos ahora se ve de la siguiente manera:
Haz clic en Crear.
La consola de Google Cloud muestra la página Descripción general de la base de datos que creaste.
Cree un esquema para su base de datos
En el menú de navegación, haz clic en Spanner Studio.
En la página Spanner Studio, haz clic en
Nueva pestaña o usa la pestaña del editor vacía.Escribe lo siguiente:
GoogleSQL
CREATE TABLE Singers ( SingerId INT64 NOT NULL, FirstName STRING(1024), LastName STRING(1024), SingerInfo BYTES(MAX), BirthDate DATE ) PRIMARY KEY(SingerId);
PostgreSQL
CREATE TABLE Singers ( BirthDate TIMESTAMPTZ, SingerId BIGINT PRIMARY KEY, FirstName VARCHAR(1024), LastName VARCHAR(1024), SingerInfo BYTEA );
Haz clic en Ejecutar.
La consola de Google Cloud regresa a la página Descripción general de la base de datos y muestra que las actualizaciones del esquema están en curso. Cuando se completa la actualización, el página se ve así:
GoogleSQL
PostgreSQL
Observa que PostgreSQL convierte el nombre de la tabla en minúsculas.
Inserta datos y modifícalos
La consola de Google Cloud proporciona una interfaz para insertar, editar y y borrar los datos.
Inserta datos
En la lista de tablas de la página Descripción general de la base de datos, haz clic en la tabla Singers.
En la consola de Google Cloud, se muestra la página Esquema de la tabla Singers.
En el menú de navegación, haz clic en Datos para mostrar la página Datos de la tabla Singers.
Haga clic en Insert.
La consola de Google Cloud muestra la página de Spanner Studio de la tabla Singers con una pestaña de consulta nueva que contiene instrucciones
INSERT
ySELECT
que editas para insertar una fila en la tabla Singers y ver el resultado de esa inserción:GoogleSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO Singers (SingerId, BirthDate, FirstName, LastName, SingerInfo) VALUES (<SingerId>, -- type: INT64 <BirthDate>, -- type: DATE <FirstName>, -- type: STRING(1024) <LastName>, -- type: STRING(1024) <SingerInfo> -- type: BYTES(MAX) ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM Singers WHERE SingerId=<SingerId>;
PostgreSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO singers (singerid, birthdate, firstname, lastname, singerinfo) VALUES (<singerid>, -- type: bigint <birthdate>, -- type: timestamp with time zone <firstname>, -- type: character varying <lastname>, -- type: character varying <singerinfo> -- type: bytea ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM singers WHERE singerid=<singerid>;
Observa que PostgreSQL convierte los nombres de las columnas a minúsculas.
Edita la cláusula
VALUES
de la sentenciaINSERT
y la cláusulaWHERE
de la sentenciaSELECT
:GoogleSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO Singers (SingerId, BirthDate, FirstName, LastName, SingerInfo) VALUES (1, -- type: INT64 NULL, -- type: DATE 'Marc', -- type: STRING(1024) 'Richards', -- type: STRING(1024) NULL -- type: BYTES(MAX) ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM Singers WHERE SingerId=1;
PostgreSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO singers (singerid, birthdate, firstname, lastname, singerinfo) VALUES (1, -- type: bigint NULL, -- type: timestamp with time zone 'Marc', -- type: character varying 'Richards', -- type: character varying NULL -- type: bytea ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM singers WHERE singerid=1;
Haz clic en Ejecutar.
Spanner ejecuta las sentencias. Cuando termines, la pestaña Resultados indicará que la primera sentencia insertó una fila y proporcionará un vínculo para ver los datos de la tabla.
En la pestaña Resultados, haz clic en el vínculo de la tabla. La tabla Singers ahora tiene una fila:
GoogleSQL
PostgreSQL
Haz clic en Insert para agregar otra fila.
En la consola de Google Cloud, se vuelve a mostrar Spanner Studio de la tabla Singers. con una nueva pestaña de consulta que contiene los mismos
INSERT
ySELECT
declaraciones.Edita la cláusula
VALUES
de la sentenciaINSERT
y la cláusulaWHERE
de la sentenciaSELECT
:GoogleSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO Singers (SingerId, BirthDate, FirstName, LastName, SingerInfo) VALUES (2, -- type: INT64 NULL, -- type: DATE 'Catalina', -- type: STRING(1024) 'Smith', -- type: STRING(1024) NULL -- type: BYTES(MAX) ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM Singers WHERE SingerId=2;
PostgreSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO singers (singerid, birthdate, firstname, lastname, singerinfo) VALUES (2, -- type: bigint NULL, -- type: timestamp with time zone 'Catalina', -- type: character varying 'Smith', -- type: character varying NULL -- type: bytea ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM singers WHERE singerid=2;
Haz clic en Ejecutar.
Después de que Spanner ejecute las sentencias, vuelve a abrir la pestaña Resultados. indica que la primera declaración insertó una fila.
Haz clic en el vínculo de la tabla. Ahora la tabla Singers tiene dos filas:
GoogleSQL
PostgreSQL
También, puedes insertar valores de cadena vacía cuando ingreses datos:
Haz clic en Insertar para agregar una fila.
Spanner vuelve a mostrar el Spanner Studio de la tabla Singers. con una nueva pestaña de consulta que contiene los mismos
INSERT
ySELECT
declaraciones.Edita la cláusula
VALUES
de la sentenciaINSERT
de la plantilla y la cláusulaWHERE
de la sentenciaSELECT
:GoogleSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO Singers (SingerId, BirthDate, FirstName, LastName, SingerInfo) VALUES (3, -- type: INT64 NULL, -- type: DATE 'Kena', -- type: STRING(1024) '', -- type: STRING(1024) NULL -- type: BYTES(MAX) ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM Singers WHERE SingerId=3;
PostgreSQL
-- Add new values in the VALUES clause in order of the column list. -- Each value must be type compatible with its associated column. INSERT INTO singers (singerid, birthdate, firstname, lastname, singerinfo) VALUES (3, -- type: bigint NULL, -- type: timestamp with time zone 'Kena', -- type: character varying '', -- type: character varying NULL -- type: bytea ); -- Change values in the WHERE condition to match the inserted row. SELECT * FROM singers WHERE singerid=3;
Ten en cuenta que el valor proporcionado para la columna de apellido es una cadena vacía,
''
, no un valorNULL
.Haz clic en Ejecutar.
Después de que Spanner ejecute las sentencias, en la pestaña Resultados indica que la primera sentencia insertó una fila.
Haz clic en el vínculo de la tabla. La tabla
Singers
ahora tiene tres filas, y la fila con el valor de clave primaria de3
tiene una string vacía en la columnaLastName
:GoogleSQL
PostgreSQL
Editar datos
En la página Datos de la tabla Cantantes, selecciona la casilla de verificación de la fila con el valor de clave principal
3
y, luego, haz clic en Editar.Spanner muestra la página de Spanner Studio con una pestaña nueva que contiene instrucciones de las plantillas
UPDATE
ySET
que puede editar. Nota que las cláusulasWHERE
de ambas sentencias indiquen que la fila a actualizar está la que tiene el valor de clave primaria de3
.GoogleSQL
-- Change values in the SET clause to update the row where the WHERE condition is true. UPDATE Singers SET BirthDate='', FirstName='Kena', LastName='', SingerInfo='' WHERE SingerId=3; SELECT * FROM Singers WHERE SingerId=3;
PostgreSQL
-- Change values in the SET clause to update the row where the WHERE condition is true. UPDATE singers SET birthdate=NULL, firstname='Kena', lastname='', singerinfo=NULL WHERE singerid='3'; SELECT * FROM singers WHERE singerid='3';
Edita la cláusula
SET
de la sentenciaUPDATE
para actualizar solo la fecha de nacimiento:GoogleSQL
-- Change values in the SET clause to update the row where the WHERE condition is true. UPDATE Singers SET BirthDate='1961-04-01' WHERE SingerId=3; SELECT * FROM Singers WHERE SingerId=3;
PostgreSQL
-- Change values in the SET clause to update the row where the WHERE condition is true. UPDATE singers SET birthdate='1961-04-01 00:00:00 -8:00' WHERE singerid='3'; SELECT * FROM singers WHERE singerid='3';
Haz clic en Ejecutar.
Spanner ejecuta las instrucciones. Cuando termines, la pestaña Resultados indica que la primera declaración actualizó una fila y ofrece un vínculo para ver los datos de la tabla.
En la pestaña Resultados, haz clic en el vínculo de la tabla.
La fila actualizada ahora tiene un valor para la fecha de nacimiento.
GoogleSQL
PostgreSQL
Borra datos
- En la página Datos de la tabla Cantantes, selecciona la casilla de verificación de la fila con
2
en la primera columna y, luego, haz clic en Borrar. En el diálogo que aparece, haga clic en Confirmar.
Ahora la tabla Singers tiene dos filas:
GoogleSQL
PostgreSQL
Ejecuta una consulta
En la página Descripción general de la base de datos, haz clic en Spanner Studio en el menú de navegación.
Haz clic en Nueva pestaña para crear una pestaña de consulta nueva. Luego, ingresa la siguiente consulta en el Editor de consultas:
GoogleSQL
SELECT * FROM Singers;
PostgreSQL
SELECT * FROM singers;
Haz clic en Ejecutar.
Spanner ejecuta la consulta. Cuando termines, la pestaña Resultados muestra el resultado de tu consulta:
GoogleSQL
PostgreSQL
¡Felicitaciones! Creaste correctamente una base de datos de Spanner y ejecutaste una instrucción de SQL con el editor de consultas.
Limpia
Para evitar cargos adicionales en tu cuenta de Facturación de Cloud, borra la base de datos y la instancia que creaste. Borrar una instancia borra automáticamente todas las bases de datos creadas en la instancia.
Borra la base de datos
En la consola de Google Cloud, ve a la página Instancias de Spanner.
Haz clic en el nombre de la instancia que tiene la base de datos que quieres borrar, por ejemplo, Instancia de prueba.
Haz clic en el nombre de la base de datos que deseas borrar, por ejemplo, example-db.
En la página Detalles de la base de datos, haz clic en delete Borrar base de datos.
Para confirmar que quieres borrar la base de datos, ingresa el nombre de la base de datos y haz clic en Borrar.
Borra la instancia
En la consola de Google Cloud, ve a la página Instancias de Spanner.
Haz clic en el nombre de la instancia que deseas borrar, por ejemplo, Instancia de prueba.
Haz clic en delete Borrar instancia.
Ingresa el nombre de la instancia y haz clic en Borrar para confirmar que quieres borrarla.
¿Qué sigue?
- Obtén más información sobre instancias.
- Obtén más información sobre el esquema y modelo de datos de Spanner.
- Obtén más información sobre el Lenguaje de definición de datos (DDL) de GoogleSQL.
- Obtén más información sobre los planes de ejecución de consultas.
- Aprende a usar Spanner con C++, C#, Go y Java. Node.js, PHP, Python, Ruby, REST o gcloud.