Questa guida rapida mostra come eseguire operazioni di base in Spanner utilizzando il nella console Google Cloud. Nella guida rapida imparerai a:
- Creare un'istanza di Spanner.
- Creare un database.
- Crea uno schema.
- Inserire e modificare i dati.
- Esegui una query.
Per informazioni sul costo di 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, abilitala manualmente: Abilita l'API Spanner
-
Per ottenere le autorizzazioni necessarie per creare istanze e database, chiedi all'amministratore di concederti Amministratore Cloud Spanner ("roles/spanner.admin") ruolo IAM per il tuo 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 già fatto.
Nella pagina Spanner, fai clic su Crea un'istanza di cui è stato eseguito il provisioning.
Se hai già utilizzato Spanner, vedrai alla pagina Istanze di Spanner anziché alla pagina del prodotto. Fai clic su Crea istanza.
Nella pagina Assegna un nome all'istanza, inserisci un nome per l'istanza, ad esempio Istanza di test.
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 la tua istanza, mantieni l'opzione predefinita A livello di regione e seleziona una configurazione dal menu a discesa.
La configurazione dell'istanza determina la posizione geografica in cui le tue istanza vengono archiviate e replicate.
Fai clic su Continua.
Nella pagina Alloca capacità di calcolo, seleziona Unità di elaborazione (PU) e conservano 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 per PostgreSQL e per indicazioni sulla scelta di un dialetto, vedi Interfaccia PostgreSQL. Se hai selezionato GoogleSQL, dovrai definire lo schema nel campo di testo Definisci il tuo schema nella sezione successiva di questa guida rapida.
La pagina di creazione del database ora ha il seguente aspetto:
Fai clic su Crea.
Nella console Google Cloud viene visualizzata la pagina Panoramica relativa al database. che hai creato.
Crea uno schema per il database
Nel menu di navigazione, fai clic su Spanner Studio.
Nella pagina Spanner Studio, fai clic su
Nuova scheda o utilizza la finestra dell'editor.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 indica che sono in corso gli aggiornamenti dello schema. Al termine dell'aggiornamento, pagina ha il seguente aspetto:
GoogleSQL
PostgreSQL
Tieni presente che PostgreSQL converte il nome della tabella in minuscolo.
Inserire e modificare i dati
La console Google Cloud offre un'interfaccia per inserire, modificare l'eliminazione dei dati.
Inserisci i dati
Nell'elenco delle tabelle nella pagina Panoramica del database, fai clic sulla tabella Singers.
La console Google Cloud mostra la pagina Schema della tabella Singers.
Nel menu di navigazione, fai clic su Dati per visualizzare la pagina Dati della tabella Singers.
Fai clic su Inserisci.
La console Google Cloud mostra Spanner Studio della tabella Singers con una nuova scheda di query che contiene istruzioni
INSERT
eSELECT
che apporti modifiche per inserire una riga nella tabella Cantanti e visualizzare il risultato 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>;
Nota che PostgreSQL converte i nomi delle colonne in minuscoli.
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 sezione 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.
Nella console Google Cloud viene nuovamente visualizzato Spanner Studio della tabella Singers. pagina con una nuova scheda query contenente gli stessi
INSERT
eSELECT
istruzioni.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 ha eseguito le istruzioni, viene visualizzata di nuovo la scheda Risultati. indica che la prima istruzione ha inserito una riga.
Fai clic sul link della tabella. La tabella Cantanti ora ha 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 del cognome è una stringa vuota,
''
, non un valoreNULL
.Fai clic su Esegui.
Dopo che Spanner ha eseguito le istruzioni, la scheda Risultati indica che la prima istruzione ha inserito una riga.
Fai clic sul link della tabella. La tabella
Singers
ora contiene tre righe, mentre 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 sulla riga con il valore della chiave primaria
3
, quindi fai clic su Modifica.Spanner visualizza la pagina di Spanner Studio con una nuova scheda contenente istruzioni sui modelli
UPDATE
eSET
che puoi modificare. Tieni conto che le clausoleWHERE
di entrambe le istruzioni indicano che la riga da aggiornare è quella con il valore della chiave primaria3
.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 sezione 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 tabella.
La riga aggiornata ora contiene un valore per la data di nascita.
GoogleSQL
PostgreSQL
Elimina dati
- Nella pagina Dati della tabella Cantanti, seleziona la casella di controllo sulla riga con
2
nella prima colonna, quindi 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. Quindi, 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 sezione Risultati visualizza il risultato della query:
GoogleSQL
PostgreSQL
Complimenti! Hai creato un database Spanner ed eseguito un'istruzione SQL utilizzando Query Editor.
Esegui la pulizia
Per evitare addebiti aggiuntivi al tuo account di fatturazione Cloud, elimina il database e l'istanza che hai creato. L'eliminazione di un'istanza comporta l'eliminazione automatica per 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 da eliminare, ad esempio Istanza di test.
Fai clic sul nome del database da eliminare, ad esempio example-db.
Nella pagina Dettagli database, fai clic su delete Elimina database.
Conferma di voler eliminare il database inserendo il nome e facendo clic su Elimina.
Elimina l'istanza
Nella console Google Cloud, vai alla pagina Istanze Spanner.
Fai clic sul nome dell'istanza da eliminare, ad esempio Istanza di test.
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.
- Comprendere lo schema e il modello dei dati di Spanner.
- Scopri di più sul 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.