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
- 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.
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify 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.
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Opcional: a API Spanner deve ser ativada automaticamente. Caso contrário, ative-o manualmente: Ative a API Spanner
-
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.
Na Google Cloud consola, aceda à página Spanner.
Selecione ou crie um Google Cloud projeto, se ainda não o tiver feito.
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.
Na página Dê um nome à sua instância, introduza um nome para a instância, como Instância de teste.
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.
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.
Clique em Continuar.
Na página Atribuir capacidade de computação, selecione Unidades de processamento (PUs) e mantenha o valor predefinido de 1000 unidades de processamento.
Clique em Criar.
A Google Cloud consola apresenta a página Vista geral da instância que criou.
Na Google Cloud consola, aceda à página Instâncias do Spanner.
Clique na instância que criou, por exemplo, Instância de teste.
Na página Vista geral da instância apresentada, clique em Criar base de dados.
Para o nome da base de dados, introduza um nome, como example-db.
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:
Clique em Criar.
A Google Cloud consola apresenta a página Vista geral para a base de dados que criou.
No menu de navegação, clique em Spanner Studio.
Na página Spanner Studio, clique em
Novo separador ou use o separador do editor vazio.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 );
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
PostgreSQL
Tenha em atenção que o PostgreSQL converte o nome da tabela em minúsculas.
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.
No menu de navegação, clique em Dados para apresentar a página Dados da tabela Singers.
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
eSELECT
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.
Edite a cláusula
VALUES
da declaraçãoINSERT
e a cláusulaWHERE
da declaraçã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 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.
No separador Resultados, clique no link da tabela. A tabela Singers tem agora uma linha:
GoogleSQL
PostgreSQL
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
eSELECT
.Edite a cláusula
VALUES
da declaraçãoINSERT
e a cláusulaWHERE
da declaraçã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 de o Spanner executar as declarações, o separador Resultados volta a indicar que a primeira declaração inseriu uma linha.
Clique no link da tabela. A tabela Singers tem agora duas linhas:
GoogleSQL
PostgreSQL
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
eSELECT
.Edite a cláusula
VALUES
da declaraçãoINSERT
e a cláusulaWHERE
da declaraçãoSELECT
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 valorNULL
.Clique em Executar.
Depois de o Spanner executar as declarações, o separador Resultados indica que a primeira declaração inseriu uma linha.
Clique no link da tabela. A tabela
Singers
tem agora três linhas e a linha com o valor da chave principal de3
tem uma string vazia na colunaLastName
:GoogleSQL
PostgreSQL
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
eSET
que pode editar. Tenha em atenção que as cláusulasWHERE
de ambas as declarações indicam que a linha a atualizar é a que tem o valor da chave principal 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 declaraçãoUPDATE
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';
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.
No separador Resultados, clique no link da tabela.
A linha atualizada tem agora um valor para a data de nascimento.
GoogleSQL
PostgreSQL
- 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. Na caixa de diálogo apresentada, clique em Confirmar.
A tabela Singers tem agora duas linhas:
GoogleSQL
PostgreSQL
Na página Vista geral da base de dados, clique em Spanner Studio no menu de navegação.
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;
Clique em Executar.
O Spanner executa a consulta. Quando terminar, o separador Resultados apresenta o resultado da sua consulta:
GoogleSQL
PostgreSQL
Na Google Cloud consola, aceda à página Instâncias do Spanner.
Clique no nome da instância que tem a base de dados que quer eliminar, por exemplo, Instância de teste.
Clique no nome da base de dados que quer eliminar, por exemplo, example-db.
Na página Detalhes da base de dados, clique em delete Eliminar base de dados.
Confirme que quer eliminar a base de dados introduzindo o nome da base de dados e clicando em Eliminar.
Na Google Cloud consola, aceda à página Instâncias do Spanner.
Clique no nome da instância que quer eliminar, por exemplo, Instância de teste.
Clique em delete Eliminar instância.
Confirme que quer eliminar a instância introduzindo o nome da instância e clicando em Eliminar.
- Saiba mais acerca das Instâncias.
- Compreenda o esquema e o modelo de dados do Spanner.
- Saiba mais sobre a linguagem de definição de dados (LDD) do GoogleSQL.
- Saiba mais sobre os planos de execução de consultas.
- Saiba como usar o Spanner com C++, C#, Go, Java, Node.js, PHP, Python, Ruby, REST ou gcloud.
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.
Crie uma base de dados
Crie um esquema para a sua base de dados
Inserir e modificar dados
A Google Cloud consola oferece uma interface para inserir, editar e eliminar dados.
Inserir dados
Também pode inserir valores de strings vazias quando introduz dados.
Editar dados
Eliminar dados
Execute uma 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.