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 Spanner con laGoogle Cloud consola. Esto es lo que harás en la guía de inicio rápido:

  • Crea 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

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Opcional: La API de Spanner debería habilitarse automáticamente. Si no es así, habilítala de forma manual:

    Habilita la API de Spanner
  7. Para obtener los permisos que necesitas para crear instancias y bases de datos, pídele a tu administrador que te otorgue el rol de IAM de administrador de Cloud Spanner (roles/spanner.admin) en tu proyecto.

  8. Crea una instancia

    Cuando uses Spanner por primera vez, deberás 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 Spanner.

      Ir a Spanner

    2. Selecciona o crea un Google Cloud proyecto si aún no lo hiciste.

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

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

    4. En la página Asigna un nombre a tu instancia, ingresa un nombre de instancia, como Instancia de prueba.

    5. El ID de instancia se ingresa automáticamente según el nombre de la instancia, por ejemplo, como test-instance. Cámbiala si es necesario. Haga clic en Continuar.

    6. En la página Configura tu instancia, conserva la opción predeterminada Regional y selecciona una configuración en el menú desplegable.

      La configuración de tu instancia determina la ubicación geográfica donde tus instancias se almacenan y se replican.

    7. Haz clic en Continuar.

    8. En la página Asignar capacidad de procesamiento, selecciona Unidades de procesamiento (PU) y conserva el valor predeterminado de 1,000 unidades de procesamiento.

    9. Haz clic en Crear.

      La consola de Google Cloud muestra la página Descripción general de la instancia que creaste.

    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 abrirá, haz clic en Crear base de datos.

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

    5. 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 your schema 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 de creación de la base de datos actualizada.

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

    1. En el menú de navegación, haz clic en Spanner Studio.

    2. En la página Spanner Studio, haz clic en Pestaña nueva o usa la pestaña del editor vacía.

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

      GoogleSQL

      Es la página de descripción general actualizada.

      PostgreSQL

      Es la página de descripción general actualizada.

      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 borrar datos.

    Inserta 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 Singers.

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

    3. Haga clic en Insert.

      La consola de Google Cloud muestra la página de Spanner Studio de la tabla Singers con una nueva pestaña de consulta que contiene las instrucciones INSERT y SELECT 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.

    4. Edita la cláusula VALUES de la instrucción INSERT 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
        (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 instrucciones. Cuando termines, la pestaña Resultados indicará que la primera instrucción insertó una fila y proporcionará 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. Ahora la tabla Cantantes tiene una fila:

      GoogleSQL

      Los datos actualizados de la tabla Cantantes (Singers) con una fila.

      PostgreSQL

      Los datos actualizados de la tabla Cantantes (Singers) con una fila.

    7. Haz clic en Insertar para agregar otra fila.

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

    8. Edita la cláusula VALUES de la instrucción INSERT 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
        (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 sentencias, la pestaña Results vuelve a indicar que la primera sentencia insertó una fila.

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

      GoogleSQL

      Los datos actualizados de la tabla Cantantes con dos filas.

      PostgreSQL

      Los datos actualizados de la tabla Cantantes con dos filas.

    También, puedes insertar valores de cadena vacía cuando ingreses 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 nueva pestaña de consulta que contiene las mismas declaraciones INSERT y SELECT.

    2. Edita la cláusula VALUES de la instrucción de plantilla INSERT 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 del apellido es una cadena vacía, '', no un valor NULL.

    3. Haz clic en Ejecutar.

      Después de que Spanner ejecuta las sentencias, la pestaña Results indica que la primera sentencia insertó una fila.

    4. Haz clic en el vínculo de la tabla. Ahora la tabla Singers 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 actualizados de la tabla Cantantes (Singers) con tres filas.

      PostgreSQL

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

    Editar datos

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

      Spanner muestra la página Spanner Studio con una pestaña nueva que contiene instrucciones de plantilla UPDATE y SET que puedes editar. Ten en cuenta que las cláusulas WHERE de ambas sentencias indican que la fila que se actualizará es la que tiene el valor de clave primaria de 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 declaración 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 instrucciones. Cuando finalice, la pestaña Resultados indicará que la primera instrucción actualizó una fila y proporcionará 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 actualizados de la tabla Cantantes con una fila actualizada.

      PostgreSQL

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

    Borra datos

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

      Ahora la tabla Singers tiene dos filas:

      GoogleSQL

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

      PostgreSQL

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

    Ejecuta una consulta

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

    2. Haz clic en Pestaña nueva 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 finalice, en la pestaña Resultados, se mostrará el resultado de tu consulta:

      GoogleSQL

      Son los resultados de la búsqueda.

      PostgreSQL

      Son los resultados de la búsqueda.

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

    Limpia

    Para evitar que se apliquen cargos adicionales a tu 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 tiene la base de datos que deseas 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 su nombre 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. Ingresa el nombre de la instancia y haz clic en Borrar para confirmar que deseas borrarla.

    ¿Qué sigue?