Crie e consulte uma base de dados através da consola Google Cloud

Este início rápido mostra como realizar operações básicas no Spanner através da Google Cloud consola. No início rápido, vai:

  • Crie uma instância do Spanner.
  • Crie uma base de dados.
  • Crie um esquema.
  • Inserir e modificar dados.
  • Execute uma consulta.

Para obter informações sobre o custo de utilização do Spanner, consulte a secção Preços.

Antes de começar

  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.

    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 (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 (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: a API Spanner deve ser ativada automaticamente. Caso contrário, ative-o manualmente:

    Ative a API Spanner
  7. Para receber as autorizações de que precisa para criar instâncias e bases de dados, peça ao seu administrador para lhe conceder a função do IAM de administrador do Cloud Spanner (roles/spanner.admin) no seu projeto.

  8. Crie uma instância

    Quando usa o Spanner pela primeira vez, tem de criar uma instância, que é uma atribuição de recursos usados pelas bases de dados do Spanner nessa instância.

    1. Na Google Cloud consola, aceda à página Spanner.

      Aceda ao Spanner

    2. Selecione ou crie um Google Cloud projeto, se ainda não o tiver feito.

    3. Na página Spanner, clique em Criar uma instância aprovisionada.

      Se já usou o Spanner, é apresentada a página Instâncias do Spanner em vez da página do produto. Clique em Criar instância.

    4. Na página Dê um nome à sua instância, introduza um nome para a instância, como Instância de teste.

    5. O ID da instância é introduzido automaticamente com base no nome da instância, por exemplo, como test-instance. Se necessário, altere-o. Clique em Continuar.

    6. Na página Configure a sua instância, mantenha a opção predefinida Regional e selecione uma configuração no menu pendente.

      A configuração da instância determina a localização geográfica onde as suas instâncias são armazenadas e replicadas.

    7. Clique em Continuar.

    8. Na página Atribuir capacidade de computação, selecione Unidades de processamento (PUs) e mantenha o valor predefinido de 1000 unidades de processamento.

    9. Clique em Criar.

      A Google Cloud consola apresenta a página Vista geral da instância que criou.

    Crie uma base de dados

    1. Na Google Cloud consola, aceda à página Instâncias do Spanner.

      Aceda às instâncias do Spanner

    2. Clique na instância que criou, por exemplo, Instância de teste.

    3. Na página Vista geral da instância apresentada, clique em Criar base de dados.

    4. Para o nome da base de dados, introduza um nome, como example-db.

    5. Selecione um dialeto da base de dados.

      Para obter informações sobre o suporte do PostgreSQL e orientações para escolher um dialeto, consulte o artigo Interface do PostgreSQL. Se selecionou GoogleSQL, vai definir o esquema no campo de texto Defina o seu esquema na secção seguinte deste início rápido.

      A página de criação da base de dados tem agora o seguinte aspeto:

      A janela de criação da base de dados atualizada.

    6. Clique em Criar.

      A Google Cloud consola apresenta a página Vista geral para a base de dados que criou.

    Crie um esquema para a sua base de dados

    1. No menu de navegação, clique em Spanner Studio.

    2. Na página Spanner Studio, clique em Novo separador ou use o separador do editor vazio.

    3. Introduza:

      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. Clique em Executar.

      A Google Cloud consola regressa à página Vista geral da base de dados e mostra que as atualizações do esquema estão em curso. Quando a atualização estiver concluída, a página tem o seguinte aspeto:

      GoogleSQL

      A página de vista geral atualizada.

      PostgreSQL

      A página de vista geral atualizada.

      Tenha em atenção que o PostgreSQL converte o nome da tabela em minúsculas.

    Inserir e modificar dados

    A Google Cloud consola oferece uma interface para inserir, editar e eliminar dados.

    Inserir dados

    1. Na lista de tabelas na página Vista geral da base de dados, clique na tabela Singers.

      A Google Cloud consola apresenta a página Esquema da tabela Singers.

    2. No menu de navegação, clique em Dados para apresentar a página Dados da tabela Singers.

    3. Clique em Inserir.

      A Google Cloud consola apresenta a página do Spanner Studio da tabela Singers com um novo separador de consulta que contém declarações INSERT e SELECT que edita para inserir uma linha na tabela Singers e ver o resultado dessa inserção:

      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>;
      

      Tenha em atenção que o PostgreSQL converte os nomes das colunas para minúsculas.

    4. Edite a cláusula VALUES da declaração INSERT e a cláusula WHERE da declaração 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. Clique em Executar.

      O Spanner executa as declarações. Quando terminar, o separador Resultados indica que a primeira declaração inseriu uma linha e fornece um link para ver os dados da tabela.

    6. No separador Resultados, clique no link da tabela. A tabela Singers tem agora uma linha:

      GoogleSQL

      Os dados da tabela Singers atualizados com uma linha.

      PostgreSQL

      Os dados da tabela Singers atualizados com uma linha.

    7. Clique em Inserir para adicionar outra linha.

      A Google Cloud consola volta a apresentar a página Spanner Studio da tabela Singers com um novo separador de consulta que contém as mesmas declarações INSERT e SELECT.

    8. Edite a cláusula VALUES da declaração INSERT e a cláusula WHERE da declaração 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. Clique em Executar.

      Depois de o Spanner executar as declarações, o separador Resultados volta a indicar que a primeira declaração inseriu uma linha.

    10. Clique no link da tabela. A tabela Singers tem agora duas linhas:

      GoogleSQL

      Os dados da tabela Singers atualizados com duas linhas.

      PostgreSQL

      Os dados da tabela Singers atualizados com duas linhas.

    Também pode inserir valores de strings vazias quando introduz dados.

    1. Clique em Inserir para adicionar uma linha.

      O Spanner volta a apresentar a página Spanner Studio da tabela Singers com um novo separador de consulta que contém as mesmas declarações INSERT e SELECT.

    2. Edite a cláusula VALUES da declaração INSERT e a cláusula WHERE da declaração SELECT do modelo:

      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;
      

      Repare que o valor fornecido para a coluna do apelido é uma string vazia, '', e não um valor NULL.

    3. Clique em Executar.

      Depois de o Spanner executar as declarações, o separador Resultados indica que a primeira declaração inseriu uma linha.

    4. Clique no link da tabela. A tabela Singers tem agora três linhas e a linha com o valor da chave principal de 3 tem uma string vazia na coluna LastName:

      GoogleSQL

      Os dados da tabela Singers atualizados com três linhas.

      PostgreSQL

      Os dados da tabela Singers atualizados com três linhas.

    Editar dados

    1. Na página Dados da tabela Singers, selecione a caixa de verificação na linha com o valor da chave primária de 3 e, de seguida, clique em Editar.

      O Spanner apresenta a página Spanner Studio com um novo separador que contém declarações de modelo UPDATE e SET que pode editar. Tenha em atenção que as cláusulas WHERE de ambas as declarações indicam que a linha a atualizar é a que tem o valor da chave principal 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. Edite a cláusula SET da declaração UPDATE para atualizar apenas a data de nascimento:

      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. Clique em Executar.

      O Spanner executa as declarações. Quando terminar, o separador Resultados indica que a primeira declaração atualizou uma linha e fornece um link para ver os dados da tabela.

    4. No separador Resultados, clique no link da tabela.

      A linha atualizada tem agora um valor para a data de nascimento.

      GoogleSQL

      Os dados da tabela Singers atualizados com uma linha atualizada.

      PostgreSQL

      Os dados da tabela Singers atualizados com uma linha atualizada.

    Eliminar dados

    1. Na página Dados da tabela Singers, selecione a caixa de verificação na linha com 2 na primeira coluna e, de seguida, clique em Eliminar.
    2. Na caixa de diálogo apresentada, clique em Confirmar.

      A tabela Singers tem agora duas linhas:

      GoogleSQL

      Os dados da tabela Singers atualizados com duas linhas; a linha para SingerId 2 desapareceu.

      PostgreSQL

      Os dados da tabela Singers atualizados com duas linhas; a linha para SingerId 2 desapareceu.

    Execute uma consulta

    1. Na página Vista geral da base de dados, clique em Spanner Studio no menu de navegação.

    2. Clique em Novo separador para criar um novo separador de consulta. Em seguida, introduza a seguinte consulta no editor de consultas:

      GoogleSQL

      SELECT * FROM Singers;
      

      PostgreSQL

      SELECT * FROM singers;
      
    3. Clique em Executar.

      O Spanner executa a consulta. Quando terminar, o separador Resultados apresenta o resultado da sua consulta:

      GoogleSQL

      Os resultados da consulta.

      PostgreSQL

      Os resultados da consulta.

    Parabéns! Criou com êxito uma base de dados do Spanner e executou uma declaração SQL através do editor de consultas!

    Limpar

    Para evitar cobranças adicionais na sua conta do Cloud Billing, elimine a base de dados e a instância que criou. A eliminação de uma instância elimina automaticamente todas as bases de dados criadas na instância.

    Elimine a base de dados

    1. Na Google Cloud consola, aceda à página Instâncias do Spanner.

      Aceda às instâncias do Spanner

    2. Clique no nome da instância que tem a base de dados que quer eliminar, por exemplo, Instância de teste.

    3. Clique no nome da base de dados que quer eliminar, por exemplo, example-db.

    4. Na página Detalhes da base de dados, clique em Eliminar base de dados.

    5. Confirme que quer eliminar a base de dados introduzindo o nome da base de dados e clicando em Eliminar.

    Elimine a instância

    1. Na Google Cloud consola, aceda à página Instâncias do Spanner.

      Aceda às instâncias do Spanner

    2. Clique no nome da instância que quer eliminar, por exemplo, Instância de teste.

    3. Clique em Eliminar instância.

    4. Confirme que quer eliminar a instância introduzindo o nome da instância e clicando em Eliminar.

    O que se segue?