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
- 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Opcional: a API Spanner deve ser ativada automaticamente. Se não estiver, ative 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.
No console Google Cloud , acesse a página Spanner.
Selecione ou crie um Google Cloud projeto, caso ainda não tenha feito isso.
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.
Na página Nomeie sua instância, insira um nome, como Instância de teste.
O ID da instância é inserido automaticamente com base no nome dela, por exemplo, test-instance. Mude 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 Google Cloud mostra a página Visão geral da instância que você criou.
No console 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 "Visão geral da instância" que aparece, 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 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:
Clique em Criar.
O console Google Cloud mostra a página Visão geral do banco de dados que você criou.
No menu de navegação, clique em Spanner Studio.
Na página Spanner Studio, clique em
Nova guia ou use a guia do editor vazia.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
O PostgreSQL converte o nome da tabela em letras minúsculas.
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".
No menu de navegação, clique em Dados para exibir a página Dados da tabela "Singers".
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
eSELECT
. 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.
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 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
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
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
eSELECT
.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 executa 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 de chave primária de3
tem uma string vazia na colunaLastName
:GoogleSQL
PostgreSQL
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
eSET
do modelo que você pode editar. 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
- Na página Dados da tabela "Singers", marque a caixa de seleção na 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
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 consulta abaixo 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
No console Google Cloud , acesse a página Instâncias do Spanner.
Clique no nome da instância que tem 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 inserindo o nome dele e clicando em Excluir.
No console Google Cloud , acesse a página Instâncias do Spanner.
Clique no nome da instância que você quer excluir, por exemplo, Test Instance.
Clique em delete Excluir instância.
Confirme que você quer excluir a instância digitando o nome dela e clicando em Excluir.
- Saiba mais sobre Instâncias.
- Compreenda o esquema e o 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.
- Saiba como usar o Spanner com C++, C#, Go, Java, Node.js, PHP, Python, Ruby, REST ou gcloud.
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.
Criar um banco de dados
Crie um esquema para o banco de dados
inserir e modificar dados
O console do Google Cloud fornece uma interface para inserir, editar e excluir dados.
Inserir dados
Também é possível inserir valores de string vazios quando adicionar dados.
Editar dados
Excluir dados
Executar uma 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.