Crea y consulta una base de datos con la consola de Google Cloud

En esta guía de inicio rápido, se muestra cómo realizar operaciones básicas en Cloud Spanner con la consola de Google Cloud. Esto es lo que harás en la guía de inicio rápido:

  • Crear una instancia de Spanner
  • Crear 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

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  5. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  6. La API de Spanner debe habilitarse automáticamente (opcional). De lo contrario, habilítala manualmente:

    Habilitar la API de Spanner

Crea una instancia

Cuando uses Spanner por primera vez, debes crear una instancia, que es una asignación de recursos que usan las bases de datos de Spanner en esa instancia.

  1. En la consola de Google Cloud, ve a la página Cloud Spanner.

    Ir a Cloud Spanner

  2. Selecciona o crea un proyecto de Google Cloud si aún no lo has hecho.

  3. En la página Cloud Spanner, haz clic en Crear una instancia aprovisionada.

    Si ya usaste Spanner, verás la página Instancias de Spanner en lugar de la página del producto. Haz clic en Crear instancia.

  4. Ingresa un nombre para la instancia, como Instancia de prueba.

  5. El ID de la instancia se ingresa automáticamente según el nombre de la instancia, por ejemplo, como test-instance. Si es necesario, cámbialo.

  6. En Choose your configuration, mantén 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.

  7. En Asignar capacidad de procesamiento, conserva el valor predeterminado de 1,000 unidades de procesamiento.

    La página de creación de instancias ahora tiene el siguiente aspecto:

    La página de creación de instancias actualizada.

  8. Haz clic en Crear.

    La instancia aparecerá en la lista de instancias.

Crea una base de datos

  1. En la consola de Google Cloud, ve a la página Instancias de Spanner.

    Ir a Instancias de Spanner

  2. Haz clic en la instancia que creaste, por ejemplo, Instancia de prueba.

  3. En la página Resumen de la instancia que se abre, haz clic en Crear base de datos.

  4. Para el nombre de la base de datos, ingresa un nombre, como example-db.

  5. Selecciona un dialecto de base de datos.

    Para obtener más información sobre la compatibilidad con PostgreSQL y orientación sobre cómo elegir un dialecto, consulta Interfaz de PostgreSQL. Si seleccionaste GoogleSQL, definirás el esquema en el campo de texto Define your schema (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:

    La ventana actualizada de creación de la base de datos.

  6. Haz clic en Crear.

    En la consola de Google Cloud, se muestra la página Descripción general de la base de datos que creaste.

Cree un esquema para su base de datos

  1. En la sección Tablas de la página Descripción general de la base de datos, haz clic en Crear tabla.

  2. En la página Escribir declaraciones de DDL, ingresa 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 (
      SingerId   BIGINT PRIMARY KEY,
      FirstName  VARCHAR(1024),
      LastName   VARCHAR(1024),
      SingerInfo BYTEA,
      BirthDate  TIMESTAMPTZ
    );
    
  3. Haz clic en Enviar.

    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 complete la actualización, la página se verá de la siguiente manera:

    GoogleSQL

    La página de resumen actualizada.

    PostgreSQL

    La página de resumen actualizada.

    Ten en cuenta que PostgreSQL convierte el nombre de la tabla en minúsculas.

Inserte datos y modifíquelos

La consola de Google Cloud proporciona una interfaz para insertar, editar y borrar datos.

Insertar datos

  1. En la lista de tablas de la página Overview de la base de datos, haz clic en la tabla Singers.

    La consola de Google Cloud muestra la página Esquema de la tabla Cantantes.

  2. En el menú de navegación, haz clic en Data para mostrar la página Datos de la tabla Cantantes.

  3. 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 las declaraciones INSERT y SELECT que puedes editar 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>;
    

    Ten en cuenta que PostgreSQL convierte los nombres de las columnas a minúsculas.

  4. Edita la cláusula VALUES de la sentencia INSERT y la cláusula WHERE de la sentencia SELECT:

    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;
    
  5. Haz clic en Ejecutar.

    Spanner ejecuta las sentencias. Cuando termines, la pestaña Resultados indicará que la primera declaración insertó una fila y proporciona un vínculo para ver los datos de la tabla.

  6. En la pestaña Resultados, haz clic en el vínculo de la tabla. La tabla Singers ahora tiene una fila:

    GoogleSQL

    Los datos de la tabla Cantantes actualizados con una fila.

    PostgreSQL

    Los datos de la tabla Cantantes actualizados con una fila.

  7. Haga clic en Insertar para agregar otra fila.

    En la consola de Google Cloud, se muestra nuevamente la página de Spanner Studio de la tabla Singers con una pestaña de consulta nueva que contiene las mismas declaraciones INSERT y SELECT.

  8. Edita la cláusula VALUES de la sentencia INSERT y la cláusula WHERE de la sentencia SELECT:

    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;
    
  9. Haz clic en Ejecutar.

    Después de que Spanner ejecuta las declaraciones, la pestaña Resultados indica nuevamente que la primera declaración insertó una fila.

  10. Haz clic en el vínculo de la tabla. La tabla Singers ahora tiene dos filas:

    GoogleSQL

    Los datos actualizados de la tabla Cantantes (Singers) con dos filas.

    PostgreSQL

    Los datos actualizados de la tabla Cantantes (Singers) con dos filas.

También, puede insertar valores de string vacía cuando ingrese datos:

  1. Haz clic en Insertar para agregar una fila.

    Spanner vuelve a mostrar la página Spanner Studio de la tabla Singers con una pestaña de consulta nueva que contiene las mismas declaraciones INSERT y SELECT.

  2. Edita la cláusula VALUES de la instrucción INSERT de la plantilla y la cláusula WHERE de la instrucción SELECT:

    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 string vacía, '', no un valor NULL.

  3. Haz clic en Ejecutar.

    Después de que Spanner ejecuta las declaraciones, la pestaña Resultados indica que la primera declaración insertó una fila.

  4. 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 de 3 tiene una cadena vacía en la columna LastName:

    GoogleSQL

    Los datos de la tabla Cantantes actualizados con tres filas.

    PostgreSQL

    Los datos de la tabla Cantantes actualizados con tres filas.

Edita datos

  1. En la página Datos de la tabla Cantantes (Singers), selecciona la casilla de verificación de la fila con el valor de clave primaria de 3 y, luego, haz clic en Editar (Edit).

    Spanner muestra la página Spanner Studio con una pestaña nueva que contiene plantillas UPDATE y declaraciones SELECT que puedes editar. Ten en cuenta que las cláusulas WHERE de ambas declaraciones indican que la fila que se actualizará es la que tiene el valor de clave primaria 3.

    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';
    
  2. Edita la cláusula SET de la sentencia UPDATE 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';
    
  3. Haz clic en Ejecutar.

    Spanner ejecuta las sentencias. Cuando termines, la pestaña Resultados indicará que la primera declaración actualizó una fila y proporciona un vínculo para ver los datos de la tabla.

  4. 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

    Los datos de la tabla Cantantes actualizados con una fila actualizada.

    PostgreSQL

    Los datos de la tabla Cantantes actualizados con una fila actualizada.

Borra datos

  1. En la página Datos de la tabla Cantantes (Singers), selecciona la casilla de verificación de la fila con 2 en la primera columna y, luego, haz clic en Borrar (Delete).
  2. En el diálogo que aparece, haga clic en Confirmar.

    La tabla Singers ahora tiene dos filas:

    GoogleSQL

    Los datos actualizados de la tabla Singers con dos filas; la fila de SingerId 2 ya no está.

    PostgreSQL

    Los datos actualizados de la tabla Singers con dos filas; la fila de SingerId 2 ya no está.

Ejecuta una consulta

  1. En la página Descripción general de la base de datos, haz clic en Spanner Studio en el menú de navegación.

  2. 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;
    
  3. Haz clic en Ejecutar.

    Spanner ejecuta la consulta. Cuando termines, la pestaña Resultados mostrará el resultado de tu consulta:

    GoogleSQL

    Los resultados de la consulta.

    PostgreSQL

    Los resultados de la consulta.

¡Felicitaciones! Creaste una base de datos de Spanner de forma correcta y ejecutaste una instrucción de SQL con el editor de consultas.

Limpia

Para evitar cargos adicionales en la cuenta de Facturación de Cloud, borra la base de datos y la instancia que creaste. Si borras una instancia, se borrarán de forma automática todas las bases de datos creadas en ella.

Borra la base de datos

  1. En la consola de Google Cloud, ve a la página Instancias de Spanner.

    Ir a Instancias de Spanner

  2. Haz clic en el nombre de la instancia que contiene la base de datos que quieres borrar, por ejemplo, Instancia de prueba.

  3. Haz clic en el nombre de la base de datos que deseas borrar, por ejemplo, example-db.

  4. En la página Detalles de la base de datos, haz clic en Borrar base de datos.

  5. Para confirmar que deseas borrar la base de datos, ingresa el nombre de la base de datos y haz clic en Borrar.

Borra la instancia

  1. En la consola de Google Cloud, ve a la página Instancias de Spanner.

    Ir a Instancias de Spanner

  2. Haz clic en el nombre de la instancia que deseas borrar, por ejemplo, Instancia de prueba.

  3. Haz clic en Borrar instancia.

  4. Para confirmar que deseas borrar la instancia, ingresa su nombre y haz clic en Borrar.

¿Qué sigue?