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

En esta guía de inicio rápido, se muestra cómo usar la consola de Google Cloud para crear una base de datos en Spanner, insertar datos y ejecutar una consulta en SQL.

Esto es lo que harás en la guía de inicio rápido:

  • Crear una instancia de Spanner
  • Crea una base de datos.
  • Crear un esquema
  • Insertar datos y modificarlos
  • 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify 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.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Opcional: La API de Spanner debería habilitarse automáticamente. De lo contrario, 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.

Crea una instancia con la consola de Google Cloud

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 la instancia.

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

    Ir a Spanner

  2. Selecciona o crea un proyecto de Google Cloud 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 Instancias de Spanner en lugar de la página del producto. Haz clic en Crear instancia.

  4. En la sección Selecciona una edición, elige Estándar y, luego, haz clic en Continuar.

  5. En la sección Asigna un nombre a tu instancia, ingresa un Nombre de la instancia, como Test Instance.

    El ID de instancia se completa automáticamente según el nombre de la instancia, por ejemplo, test-instance. Cámbialo si es necesario y, luego, haz clic en Continuar.

  6. En la sección Configura tu instancia, en Elige una configuración, conserva la opción predeterminada Regional y selecciona una ubicación de 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 sección Configura la capacidad de procesamiento, en Selecciona una unidad, elige Unidades de procesamiento (PU). En Elige un modo de escalamiento, conserva Asignación manual y la Cantidad predeterminada de unidades de procesamiento 1000.

  9. Opcional: En la sección Copias de seguridad, desmarca la casilla de verificación Habilitar programaciones de copias de seguridad predeterminadas si no quieres que se creen programaciones de copias de seguridad predeterminadas para esta instancia de prueba.

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

  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 Descripción general de la instancia que se abre, 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 base de datos.

    Para obtener información sobre la compatibilidad con PostgreSQL y orientación para elegir un dialecto, consulta Interfaz de PostgreSQL. Deja en blanco la sección Define tu esquema (opcional). Defines el esquema en Spanner Studio en la siguiente sección de esta guía de inicio rápido.

  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 Nueva pestaña o usa la pestaña Consulta sin título y, luego, ingresa una de las siguientes consultas,
    según el dialecto de tu base de datos:

    GoogleSQL

    CREATE TABLE Singers (
      SingerId   INT64 NOT NULL,
      FirstName  STRING(1024),
      LastName   STRING(1024),
      BirthDate  DATE
    ) PRIMARY KEY(SingerId);
    

    PostgreSQL

    CREATE TABLE Singers (
      SingerId   BIGINT PRIMARY KEY,
      FirstName  VARCHAR(1024),
      LastName   VARCHAR(1024),
      BirthDate  TIMESTAMPTZ
    );
    
  3. Haz clic en Ejecutar.

    Spanner ejecuta la sentencia. Cuando termine, en la pestaña Resultados, se mostrará Actualización completada.

Inserta datos y modifícalos

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

Inserta datos

  1. En el panel Explorador, haz clic en Ver acciones para la tabla Singers y, luego, en Insertar datos.

    Spanner abre una nueva pestaña de consulta en Spanner Studio que contiene una plantilla de sentencia INSERT.

  2. Edita la cláusula VALUES de la sentencia INSERT de la plantilla 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,
        FirstName,
        LastName,
        BirthDate)
    VALUES
      (1, -- type: INT64
        'Marc', -- type: STRING(1024)
        'Richards', -- type: STRING(1024)
        NULL -- type: DATE
        )
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      BirthDate;
    

    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,
        firstname,
        lastname,
        birthdate)
    VALUES
      (1, -- type: bigint
        'Marc', -- type: character varying
        'Richards', -- type: character varying
        NULL -- type: timestamp with time zone
        )
    RETURNING
      singerid,
      firstname,
      lastname,
      birthdate;
    

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

  3. Haz clic en Ejecutar.

    Spanner ejecuta la sentencia. Cuando finalice, la pestaña Resultados mostrará 1 fila insertada y los datos de la fila insertada.

  4. En el panel Explorador, haz clic en Ver acciones para la tabla Singers y, luego, en Insertar datos.

  5. Edita la cláusula VALUES de la sentencia INSERT:

    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,
        FirstName,
        LastName,
        BirthDate)
    VALUES
      (2, -- type: INT64
        'Catalina', -- type: STRING(1024)
        'Smith', -- type: STRING(1024)
        NULL -- type: DATE
        )
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      BirthDate;
    

    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,
        firstname,
        lastname,
        birthdate)
    VALUES
      (2, -- type: bigint
        'Catalina', -- type: character varying
        'Smith', -- type: character varying
        NULL -- type: timestamp with time zone
        )
    RETURNING
      singerid,
      firstname,
      lastname,
      birthdate;
    
  6. Haz clic en Ejecutar.

    Spanner ejecuta la sentencia. Cuando finalice, la pestaña Resultados mostrará 1 fila insertada y los datos de la fila insertada.

  7. En el panel Explorador, haz clic en Ver acciones para la tabla Singers y, luego, haz clic en Vista previa de los datos.

  8. Haz clic en Ejecutar. En la pestaña Resultados, se muestran las dos filas de la tabla Singers.

También, puedes insertar valores de cadena vacía cuando ingreses datos:

  1. En el panel Explorador, haz clic en Ver acciones para la tabla Singers y, luego, en Insertar datos.

    Spanner abre una nueva pestaña de consulta en Spanner Studio que contiene la sentencia INSERT de la plantilla.

  2. Edita la cláusula VALUES de la sentencia INSERT de la plantilla:

    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,
        FirstName,
        LastName,
        BirthDate)
    VALUES
      (3, -- type: INT64
        'Kena', -- type: STRING(1024)
        '', -- type: STRING(1024)
        NULL -- type: DATE
        )
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      BirthDate;
    

    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,
        firstname,
        lastname,
        birthdate)
    VALUES
      (3, -- type: bigint
        'Kena', -- type: character varying
        '', -- type: character varying
        NULL -- type: timestamp with time zone
        )
    RETURNING
      singerid,
      firstname,
      lastname,
      birthdate;
    
  3. Haz clic en Ejecutar.

    Spanner ejecuta la sentencia. Cuando finalice, la pestaña Resultados mostrará 1 fila insertada y los datos de la fila insertada.

    Ten en cuenta que el valor proporcionado para la columna de apellido es una cadena vacía, '', no un valor NULL.

  4. En el panel Explorador, haz clic en Ver acciones para la tabla Singers y, luego, haz clic en Vista previa de los datos.

  5. Haz clic en Ejecutar. En la pestaña Resultados, se muestran las tres filas de la tabla Singers, y la fila con el valor de clave primaria de 3 tiene una cadena vacía en la columna LastName.

Editar datos

  1. Haz clic en Nueva pestaña para crear una nueva pestaña de consulta y, luego, ingresa la siguiente sentencia UPDATE para actualizar la fecha de nacimiento de la fila con el valor de clave primaria de 3:

    GoogleSQL

    UPDATE
      Singers
    SET
      BirthDate='1961-04-01'
    WHERE
      SingerId=3
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      BirthDate;
    

    PostgreSQL

    UPDATE
      singers
    SET
      birthdate='1961-04-01 00:00:00 -8:00'
    WHERE
      singerid=3
    RETURNING
      singerid,
      firstname,
      lastname,
      birthdate;
    
  2. Haz clic en Ejecutar.

    Spanner ejecuta la sentencia. Cuando finalice, en la pestaña Resultados, se mostrará 1 fila actualizada y los datos de la fila actualizada.

  3. En el panel Explorador, haz clic en Ver acciones para la tabla Singers y, luego, haz clic en Vista previa de los datos.

  4. Haz clic en Ejecutar. En la pestaña Resultados, se muestran las filas de la tabla Singers, en la que la fila actualizada ahora tiene un valor para la fecha de nacimiento.

Borra datos

  1. Haz clic en Pestaña nueva para crear una nueva pestaña de consulta y, luego, ingresa la siguiente sentencia DELETE para borrar la fila con el valor de clave primaria de 2:

    GoogleSQL

    DELETE FROM Singers
    WHERE SingerId = 2;
    

    PostgreSQL

    DELETE FROM singers
    WHERE singerid = 2;
    
  2. Haz clic en Ejecutar.

    Spanner ejecuta la sentencia. Cuando finalice, en la pestaña Resultados, se mostrará 1 fila borrada. Ahora la tabla Singers tiene dos filas.

Ejecuta una consulta en la consola de Google Cloud

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

    Spanner ejecuta la consulta. Cuando finalice, en la pestaña Resultados, se mostrará el resultado de tu consulta.

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

Realiza una limpieza

Para evitar que se apliquen cargos adicionales a tu cuenta de Google Cloud , borra la base de datos y la instancia. Inhabilitar la API de Cloud Billing no detiene los cargos. Cuando borras una instancia, se borran todas las bases de datos que contiene.

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 quieres 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. Para confirmar que deseas borrar la instancia, ingresa su nombre y haz clic en Borrar.

¿Qué sigue?