Questa guida rapida illustra come eseguire operazioni di base in Spanner utilizzando la console Google Cloud. In questa guida rapida imparerai a:
- Crea un'istanza di Spanner.
- Crea un database.
- Crea uno schema.
- Inserire e modificare i dati.
- Esegui una query.
Per informazioni sul costo dell'utilizzo di Spanner, consulta Prezzi.
Prima di iniziare
- 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.
- (Facoltativo) L'API Spanner dovrebbe essere abilitata automaticamente. In caso contrario, attivalo manualmente: Abilita l'API Spanner
-
Per ottenere le autorizzazioni necessarie per creare istanze e database, chiedi all'amministratore di concederti il ruolo IAM Amministratore Cloud Spanner (roles/spanner.admin) nel progetto.
Crea un'istanza
Quando utilizzi Spanner per la prima volta, devi creare un'istanza, ovvero un'allocazione delle risorse utilizzate dai database Spanner nell'istanza.
Nella console Google Cloud, vai alla pagina Spanner.
Seleziona o crea un progetto Google Cloud, se non l'hai ancora fatto.
Nella pagina Spanner, fai clic su Crea un'istanza di cui è stato eseguito il provisioning.
Se hai già utilizzato Spanner, vedrai la pagina Istanze di Spanner anziché la pagina del prodotto. Fai clic su Crea istanza.
Nella pagina Dai un nome all'istanza, inserisci un nome per l'istanza, ad esempio Test Instance.
L'ID istanza viene inserito automaticamente in base al nome dell'istanza, ad esempio test-instance. Modificalo, se necessario. Fai clic su Continua.
Nella pagina Configura l'istanza, mantieni l'opzione predefinita Regionale e seleziona una configurazione dal menu a discesa.
La configurazione dell'istanza determina la posizione geografica in cui le istanza vengono archiviate e replicate.
Fai clic su Continua.
Nella pagina Alloca capacità di calcolo, seleziona Unità di elaborazione (PU) e mantieni il valore predefinito di 1000 unità di elaborazione.
Fai clic su Crea.
La console Google Cloud mostra la pagina Panoramica dell'istanza che hai creato.
Crea un database
Nella console Google Cloud, vai alla pagina Istanze Spanner.
Fai clic sull'istanza che hai creato, ad esempio Test Instance.
Nella pagina Panoramica dell'istanza che si apre, fai clic su Crea database.
Per il nome del database, inserisci un nome, ad esempio example-db.
Seleziona un dialetto del database.
Per informazioni sul supporto di PostgreSQL e sulle indicazioni per la scelta di un dialetto, consulta l'interfaccia PostgreSQL. Se hai selezionato GoogleSQL, dovrai definire lo schema nel campo di testo Definisci lo schema nella sezione successiva di questa guida introduttiva.
La pagina di creazione del database ora ha il seguente aspetto:
Fai clic su Crea.
La console Google Cloud mostra la pagina Panoramica del database che hai creato.
Crea uno schema per il tuo database
Nel menu di navigazione, fai clic su Spanner Studio.
Nella pagina Spanner Studio, fai clic su
Nuova scheda o utilizza la scheda dell'editor vuota.Digita:
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 );
Fai clic su Esegui.
La console Google Cloud torna alla pagina Panoramica del database e mostra che sono in corso aggiornamenti dello schema. Al termine dell'aggiornamento, la pagina sarà simile alla seguente:
GoogleSQL
PostgreSQL
Tieni presente che PostgreSQL converte il nome della tabella in minuscolo.
Inserire e modificare i dati
La console Google Cloud fornisce un'interfaccia per inserire, modificare ed eliminare i dati.
Inserisci i dati
Nell'elenco delle tabelle nella pagina Panoramica del database, fai clic sulla tabella Cantanti.
La console Google Cloud mostra la pagina Schema della tabella Cantanti.
Nel menu di navigazione, fai clic su Dati per visualizzare la pagina Dati della tabella Cantanti.
Fai clic su Inserisci.
La console Google Cloud mostra la pagina di Spanner Studio della tabella Cantanti con una nuova scheda di query contenente istruzioni
INSERT
eSELECT
che puoi modificare per inserire una riga nella tabella Cantanti e visualizzare il risultato di quell'inserimento: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>;
Tieni presente che PostgreSQL converte i nomi delle colonne in minuscolo.
Modifica la clausola
VALUES
dell'istruzioneINSERT
e la clausolaWHERE
dell'istruzioneSELECT
: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;
Fai clic su Esegui.
Spanner esegue le istruzioni. Al termine, la scheda Risultati indica che la prima istruzione ha inserito una riga e fornisce un link per visualizzare i dati della tabella.
Nella scheda Risultati, fai clic sul link alla tabella. La tabella Cantanti ora contiene una riga:
GoogleSQL
PostgreSQL
Fai clic su Inserisci per aggiungere un'altra riga.
La console Google Cloud mostra di nuovo la pagina Spanner Studio della tabella Cantanti con una nuova scheda di query contenente le stesse istruzioni
INSERT
eSELECT
.Modifica la clausola
VALUES
dell'istruzioneINSERT
e la clausolaWHERE
dell'istruzioneSELECT
: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;
Fai clic su Esegui.
Dopo che Spanner esegue le istruzioni, la scheda Risultati indica di nuovo che la prima istruzione ha inserito una riga.
Fai clic sul link della tabella. La tabella Cantanti ora contiene due righe:
GoogleSQL
PostgreSQL
Puoi anche inserire valori di stringa vuoti quando inserisci i dati.
Fai clic su Inserisci per aggiungere una riga.
Spanner mostra di nuovo la pagina Spanner Studio della tabella Cantanti con una nuova scheda di query contenente le stesse istruzioni
INSERT
eSELECT
.Modifica la clausola
VALUES
dell'istruzioneINSERT
del modello e la clausolaWHERE
dell'istruzioneSELECT
: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;
Tieni presente che il valore fornito per la colonna Cognome è una stringa vuota,
''
, non un valoreNULL
.Fai clic su Esegui.
Dopo che Spanner esegue le istruzioni, la scheda Risultati indica che la prima istruzione ha inserito una riga.
Fai clic sul link della tabella. La tabella
Singers
ora ha tre righe e la riga con il valore della chiave primaria3
ha una stringa vuota nella colonnaLastName
:GoogleSQL
PostgreSQL
Modifica dati
Nella pagina Dati della tabella Cantanti, seleziona la casella di controllo nella riga con il valore della chiave primaria
3
e poi fai clic su Modifica.Spanner mostra la pagina Spanner Studio con una nuova scheda contenente istruzioni
UPDATE
eSET
del modello che puoi modificare. Tieni conto che le clausoleWHERE
di entrambe le istruzioni indicano che la riga da aggiornare è quella con il valore della chiave principale3
.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';
Modifica la clausola
SET
dell'istruzioneUPDATE
per aggiornare solo la data di nascita: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';
Fai clic su Esegui.
Spanner esegue le istruzioni. Al termine, la scheda Risultati indica che la prima istruzione ha aggiornato una riga e fornisce un link per visualizzare i dati della tabella.
Nella scheda Risultati, fai clic sul link alla tabella.
La riga aggiornata ora ha un valore per la data di nascita.
GoogleSQL
PostgreSQL
Elimina dati
- Nella pagina Dati della tabella Cantanti, seleziona la casella di controllo nella riga con
2
nella prima colonna e poi fai clic su Elimina. Nella finestra di dialogo visualizzata, fai clic su Conferma.
La tabella Cantanti ora contiene due righe:
GoogleSQL
PostgreSQL
esegui una query
Nella pagina Panoramica del database, fai clic su Spanner Studio nel menu di navigazione.
Fai clic su Nuova scheda per creare una nuova scheda di query. Poi, inserisci la seguente query nell'editor di query:
GoogleSQL
SELECT * FROM Singers;
PostgreSQL
SELECT * FROM singers;
Fai clic su Esegui.
Spanner esegue la query. Al termine, la scheda Risultati mostra il risultato della query:
GoogleSQL
PostgreSQL
Complimenti! Hai creato correttamente un database Spanner e hai eseguito un'istruzione SQL utilizzando l'editor di query.
Esegui la pulizia
Per evitare addebiti aggiuntivi sul tuo account Fatturazione Cloud, elimina il database e l'istanza che hai creato. L'eliminazione di un'istanza comporta l'eliminazione automatica di tutti i database creati nell'istanza.
Elimina il database
Nella console Google Cloud, vai alla pagina Istanze Spanner.
Fai clic sul nome dell'istanza contenente il database che vuoi eliminare, ad esempio Test Instance.
Fai clic sul nome del database che vuoi eliminare, ad esempio example-db.
Nella pagina Dettagli database, fai clic su delete Elimina database.
Conferma di voler eliminare il database inserendo il nome del database e facendo clic su Elimina.
Elimina l'istanza
Nella console Google Cloud, vai alla pagina Istanze Spanner.
Fai clic sul nome dell'istanza che vuoi eliminare, ad esempio Test Instance.
Fai clic su delete Elimina istanza.
Conferma di voler eliminare l'istanza inserendo il nome dell'istanza e facendo clic su Elimina.
Passaggi successivi
- Scopri di più sulle istanze.
- Scopri di più sullo schema e sul modello dei dati di Spanner.
- Scopri di più sul linguaggio DDL (Data Definition Language) di GoogleSQL.
- Scopri di più sui piani di esecuzione delle query.
- Scopri come utilizzare Spanner con C++, C#, Go, Java, Node.js, PHP, Python, Ruby, REST o gcloud.