Neste guia de início rápido, mostramos como executar operações básicas no Spanner usando o console do Google Cloud. No início rápido, você vai:
- Criar uma instância do Spanner.
- Cria um banco de dados.
- Criar um esquema.
- Insira e modifique dados.
- executar uma consulta.
Para mais informações sobre o custo do uso do Spanner, consulte Preços.
Antes de começar
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
- Opcional: a API Spanner precisa ser ativada automaticamente. Caso contrário, ative-o manualmente: Ativar a API Spanner
-
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.
Criar uma instância
Quando você usa o Spanner pela primeira vez, precisa criar uma instância, que é um alocação de recursos usados pelos bancos de dados do Spanner instância.
No Console do Google Cloud, acesse a página Spanner.
Selecione ou crie um projeto do Google Cloud, caso ainda não tenha feito isso.
Na página do Spanner, clique em Criar uma instância provisionada.
Se você já tiver usado o Spanner antes, vai encontrar página Instâncias do Spanner em vez da página do produto. Clique em Criar instância.
Na página Nomear a instância, insira um nome, como Instância de teste.
O ID da instância é inserido automaticamente com base no nome da instância, por exemplo, instância-de-teste. Altere-a, se necessário. Clique em Continuar.
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.
Clique em Continuar.
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.
Clique em Criar.
O console do Google Cloud exibe a página Visão geral da instância. que você criou.
Criar um banco de dados
No console do Google Cloud, acesse a página Instâncias do Spanner.
Clique na instância que você criou, por exemplo, Instância de teste.
Na página "Informações gerais" da instância que abrir, clique em Criar banco de dados.
Para o nome do banco de dados, insira um nome, como example-db.
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 "GoogleSQL", defina o esquema no campo de texto Definir seu esquema na próxima seção deste guia de início rápido.
A página de criação de banco de dados ficará assim:
Clique em Criar.
O console do Google Cloud mostra a página Visão geral do banco de dados que você criou.
Crie um esquema para o banco de dados
No menu de navegação, clique em Spanner Studio.
Na página do Spanner Studio, clique em
Nova guia ou use o botão na guia "Editor".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 );
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
PostgreSQL
Observe que o PostgreSQL converte o nome da tabela em letras minúsculas.
inserir e modificar dados
O console do Google Cloud oferece uma interface para inserir, editar e excluir dados.
Insira os dados
Na lista de tabelas na página Visão geral do banco de dados, clique na tabela "Singers".
O console do Google Cloud exibe a página Esquema da tabela Singers.
No menu de navegação, clique em Dados para mostrar a página Dados da tabela "Singers".
Clique em Inserir.
O console do Google Cloud mostra a página do Spanner Studio da tabela Singers com uma nova guia de consulta que contém instruções
INSERT
eSELECT
que você edita para inserir uma linha na tabela Singers e conferir 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.
Edite a cláusula
VALUES
da instruçãoINSERT
e a cláusulaWHERE
da instruçãoSELECT
: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;
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.
Na guia Resultados, clique no link da tabela. A tabela Singers agora tem uma linha:
GoogleSQL
PostgreSQL
Clique em Inserir para adicionar outra linha.
O console do Google Cloud exibe novamente a página Spanner Studio da tabela Singers com uma nova guia de consulta que contém as mesmas instruções
INSERT
eSELECT
.Edite a cláusula
VALUES
da instruçãoINSERT
e a cláusulaWHERE
da instruçãoSELECT
: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;
Clique em Executar.
Depois que o Spanner executa as instruções, a guia Resultados novamente indica que a primeira instrução inseriu uma linha.
Clique no link tabela. A tabela Singers agora tem duas linhas:
GoogleSQL
PostgreSQL
Também é possível inserir valores de string vazios quando adicionar dados.
Clique em Inserir para adicionar uma linha.
O Spanner mostra novamente o Spanner Studio da tabela Singers página com uma nova guia de consulta que contém os mesmos
INSERT
eSELECT
declarações.Edite a cláusula
VALUES
da instruçãoINSERT
do modelo e a cláusulaWHERE
da instruçãoSELECT
: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 valorNULL
.Clique em Executar.
Depois que o Spanner executar as instruções, a guia Resultados indica que a primeira instrução inseriu uma linha.
Clique no link tabela. A tabela
Singers
agora tem três linhas, e a linha com o valor da chave primária de3
tem uma string vazia na colunaLastName
:GoogleSQL
PostgreSQL
Editar dados
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 instruções
UPDATE
eSET
do modelo que podem ser editadas. Observe que as cláusulasWHERE
das duas instruções indicam que a linha a ser atualizada é a que tem o valor da chave primária de3
.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';
Edite a cláusula
SET
da instruçãoUPDATE
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';
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.
Na guia Resultados, clique no link da tabela.
A linha atualizada agora tem um valor para a data de nascimento.
GoogleSQL
PostgreSQL
Excluir dados
- Na página Dados da tabela "Singers", marque a caixa de seleção da linha com
2
na primeira coluna e clique em Excluir. Na caixa de diálogo que aparece, clique em Confirmar.
A tabela Singers agora tem duas linhas:
GoogleSQL
PostgreSQL
Executar uma consulta
Na página Visão geral do banco de dados, clique em Spanner Studio no menu de navegação.
Clique em Nova guia para criar uma nova guia de consulta. Em seguida, insira a seguinte consulta no editor de consultas:
GoogleSQL
SELECT * FROM Singers;
PostgreSQL
SELECT * FROM singers;
Clique em Executar.
O Spanner executa a consulta. Quando terminar, a guia Resultados exibirá o resultado da consulta:
GoogleSQL
PostgreSQL
Parabéns! Você criou um banco de dados do Spanner e executou uma instrução SQL usando o editor de consulta.
Limpar
Para evitar cobranças adicionais na conta de faturamento do Cloud, exclua o banco de dados e a instância que você criou. Ao excluir uma instância, você exclui automaticamente todos os bancos de dados criados na instância.
Excluir o banco de dados
No console do Google Cloud, acesse a página Instâncias do Spanner.
Clique no nome da instância com o banco de dados que você quer excluir, por exemplo, Instância de teste.
Clique no nome do banco de dados que você quer excluir, por exemplo, example-db.
Na página Detalhes do banco de dados, clique em delete Excluir banco de dados.
Confirme que você quer excluir o banco de dados digitando o nome dele e clicando em Excluir.
Excluir a instância
No console do Google Cloud, acesse a página Instâncias do Spanner.
Clique no nome da instância que você quer excluir, por exemplo, Instância de teste.
Clique em delete Excluir instância.
Confirme que você quer excluir a instância digitando o nome dela e clicando em Excluir.
A seguir
- Saiba mais sobre Instâncias.
- Entenda o Esquema e modelo de dados do Spanner.
- Saiba mais sobre a Linguagem de definição de dados (DDL) do GoogleSQL.
- Saiba mais sobre os planos de execução de consulta.
- Aprender a usar o Spanner com C++, C#, Go, Java, Node.js, PHP, Python, Ruby, REST ou gcloud.