Criar e consultar um banco de dados usando o console do Google Cloud

Neste guia de início rápido, mostramos como realizar operações básicas no Spanner usando o consoleGoogle Cloud . No início rápido, você vai:

  • Crie uma instância do Spanner.
  • Cria um banco de dados.
  • Crie um esquema.
  • Inserir e modificar dados.
  • executar uma consulta.

Para informações sobre o custo do uso do Spanner, consulte 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.

    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: a API Spanner deve ser ativada automaticamente. Se não estiver, ative manualmente:

    Ativar a API Spanner
  7. Para receber as permissões necessárias para criar instâncias e bancos de dados, peça ao administrador para conceder a você o papel do IAM de Administrador do Cloud Spanner (roles/spanner.admin) no seu projeto.

  8. Criar uma instância

    Quando você usa o Spanner pela primeira vez, é preciso criar uma instância, que é uma alocação de recursos usados pelos bancos de dados do Spanner naquela instância.

    1. No console Google Cloud , acesse a página Spanner.

      Acessar o Spanner

    2. Selecione ou crie um Google Cloud projeto, caso ainda não tenha feito isso.

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

      Se você já usou o Spanner, vai encontrar a página Instâncias do Spanner em vez da página do produto. Clique em Criar instância.

    4. Na página Nomeie sua instância, insira um nome, como Instância de teste.

    5. O ID da instância é inserido automaticamente com base no nome dela, por exemplo, test-instance. Mude se necessário. Clique em Continuar.

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

      A localização geográfica em que as instâncias são armazenadas e replicadas é determinada pela configuração da instância.

    7. Clique em Continuar.

    8. Na página Alocar capacidade de computação, selecione Unidades de processamento (PUs) e mantenha o valor padrão de 1.000 unidades de processamento.

    9. Clique em Criar.

      O console Google Cloud mostra a página Visão geral da instância que você criou.

    Criar um banco de dados

    1. No console Google Cloud , acesse a página Instâncias do Spanner.

      Acessar as instâncias do Spanner

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

    3. Na página "Visão geral da instância" que aparece, clique em Criar banco de dados.

    4. Para o nome do banco de dados, insira um nome, como example-db.

    5. Selecione um dialeto de banco de dados.

      Para informações sobre o suporte ao PostgreSQL e orientações sobre como escolher um dialeto, consulte a Interface PostgreSQL. Se você selecionou o GoogleSQL, defina o esquema no campo de texto Definir seu esquema na próxima seção deste início rápido.

      A página de criação de banco de dados ficará assim:

      A janela atualizada de criação do banco de dados.

    6. Clique em Criar.

      O console Google Cloud mostra a página Visão geral do banco de dados que você criou.

    Crie um esquema para o banco de dados

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

    2. Na página Spanner Studio, clique em Nova guia ou use a guia do editor vazia.

    3. Insira o seguinte:

      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.

      O console do Google Cloud retorna à página Visão geral do banco de dados e mostra que as atualizações do esquema estão em andamento. Quando a atualização for concluída, a página ficará assim:

      GoogleSQL

      A página de visão geral atualizada.

      PostgreSQL

      A página de visão geral atualizada.

      O PostgreSQL converte o nome da tabela em letras minúsculas.

    inserir e modificar dados

    O console do Google Cloud fornece uma interface para inserir, editar e excluir dados.

    Inserir dados

    1. Na lista de tabelas da página Visão geral do banco de dados, clique na tabela "Singers".

      O console Google Cloud mostra a página Esquema da tabela "Singers".

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

    3. Clique em Inserir.

      O console Google Cloud mostra a página do Spanner Studio da tabela "Singers" com uma nova guia de consulta que contém instruções INSERT e SELECT. Edite essas instruções 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>;
      

      O PostgreSQL converte os nomes das colunas em minúsculas.

    4. Edite a cláusula VALUES da instrução INSERT e a cláusula WHERE da instruçã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 instruções. Quando terminar, a guia Resultados indica que a primeira instrução inseriu uma linha e fornece um link para visualizar os dados da tabela.

    6. Na guia Resultados, clique no link da tabela. A tabela "Singers" agora tem uma linha:

      GoogleSQL

      Os dados atualizados da tabela &quot;Singers&quot; com uma linha.

      PostgreSQL

      Os dados atualizados da tabela &quot;Singers&quot; com uma linha.

    7. Clique em Inserir para adicionar outra linha.

      O console Google Cloud mostra novamente a página Spanner Studio da tabela "Singers" com uma nova guia de consulta que contém as mesmas instruções INSERT e SELECT.

    8. Edite a cláusula VALUES da instrução INSERT e a cláusula WHERE da instruçã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 que o Spanner executa as instruções, a guia Resultados novamente indica que a primeira instrução inseriu uma linha.

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

      GoogleSQL

      Os dados atualizados da tabela Singers com duas linhas.

      PostgreSQL

      Os dados atualizados da tabela Singers com duas linhas.

    Também é possível inserir valores de string vazios quando adicionar dados.

    1. Clique em Inserir para adicionar uma linha.

      O Spanner exibe novamente a página Spanner Studio da tabela "Singers" com uma nova guia de consulta que contém as mesmas instruções INSERT e SELECT.

    2. Edite a cláusula VALUES da instrução INSERT do modelo e a cláusula WHERE da instruçã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
        (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;
      

      O valor fornecido na coluna de sobrenome é uma string vazia, '', não um valor NULL.

    3. Clique em Executar.

      Depois que o Spanner executa as instruções, a guia Resultados indica que a primeira instrução inseriu uma linha.

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

      GoogleSQL

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

      PostgreSQL

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

    Editar dados

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

      O Spanner mostra a página Spanner Studio com uma nova guia contendo as instruções UPDATE e SET do modelo que você pode editar. Observe que as cláusulas WHERE das duas instruções indicam que a linha a ser atualizada é a que tem o valor da chave primária 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 instrução UPDATE para atualizar somente 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 instruções. Quando terminar, a guia Resultados indica que a primeira instrução atualizou uma linha e fornece um link para visualizar os dados da tabela.

    4. Na guia Resultados, clique no link da tabela.

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

      GoogleSQL

      Os dados atualizados da tabela &quot;Singers&quot; com uma linha atualizada.

      PostgreSQL

      Os dados atualizados da tabela &quot;Singers&quot; com uma linha atualizada.

    Excluir dados

    1. Na página Dados da tabela "Singers", marque a caixa de seleção na linha com 2 na primeira coluna e clique em Excluir.
    2. Na caixa de diálogo que aparece, clique em Confirmar.

      A tabela "Singers" agora tem duas linhas:

      GoogleSQL

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

      PostgreSQL

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

    Executar uma consulta

    1. Na página Visão geral do banco de dados, clique em Spanner Studio no menu de navegação.

    2. Clique em Nova guia para criar uma nova guia de consulta. Em seguida, insira a consulta abaixo no editor de consultas:

      GoogleSQL

      SELECT * FROM Singers;
      

      PostgreSQL

      SELECT * FROM singers;
      
    3. Clique em Executar.

      O Spanner executa a consulta. Quando terminar, a guia Resultados exibirá o resultado da consulta:

      GoogleSQL

      Os resultados da consulta.

      PostgreSQL

      Os resultados da consulta.

    Parabéns! Você criou um banco de dados do Spanner e executou uma instrução SQL usando o editor de consultas.

    Limpar

    Para evitar cobranças adicionais na conta de faturamento do Cloud, exclua o banco de dados e a instância que você criou. A exclusão de uma instância exclui automaticamente todos os bancos de dados criados nela.

    Excluir o banco de dados

    1. No console Google Cloud , acesse a página Instâncias do Spanner.

      Acessar as instâncias do Spanner

    2. Clique no nome da instância que tem o banco de dados que você quer excluir, por exemplo, Instância de teste.

    3. Clique no nome do banco de dados que você quer excluir, por exemplo, example-db.

    4. Na página Detalhes do banco de dados, clique em Excluir banco de dados.

    5. Confirme que você quer excluir o banco de dados inserindo o nome dele e clicando em Excluir.

    Excluir a instância

    1. No console Google Cloud , acesse a página Instâncias do Spanner.

      Acessar as instâncias do Spanner

    2. Clique no nome da instância que você quer excluir, por exemplo, Test Instance.

    3. Clique em Excluir instância.

    4. Confirme que você quer excluir a instância digitando o nome dela e clicando em Excluir.

    A seguir