Datenbank mit der Google Cloud Console erstellen und abfragen
In dieser Kurzanleitung erfahren Sie, wie Sie mithilfe der Google Cloud Console grundlegende Vorgänge in Cloud Spanner ausführen. Dabei führen Sie die folgenden Vorgänge aus:
- Spanner-Instanz erstellen
- Datenbank erstellen
- Schema erstellen
- Daten einfügen und ändern.
- Abfrage ausführen
Informationen zu den Kosten für die Verwendung von Spanner finden Sie unter Preise.
Hinweis
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
-
Cloud Spanner API aktivieren.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
-
Cloud Spanner API aktivieren.
Instanz erstellen
Wenn Sie Spanner zum ersten Mal verwenden, müssen Sie eine Instanz erstellen. Dabei handelt es sich um eine Zuordnung von Ressourcen, die von Spanner-Datenbanken in dieser Instanz verwendet werden.
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Klicken Sie auf Instanz erstellen.
Geben Sie als Instanznamen einen Namen ein, z. B. Testinstanz.
Die Instanz-ID wird basierend auf dem Instanznamen automatisch eingegeben, z. B. test-instance. Ändern Sie sie gegebenenfalls.
Behalten Sie unter Konfiguration auswählen die Standardoption Regional bei und wählen Sie eine Konfiguration aus dem Drop-down-Menü aus.
Die Instanzkonfiguration legt fest, an welchem geografischen Standort Instanzen gespeichert und repliziert werden.
Behalten Sie unter Rechenkapazität zuweisen den Standardwert von 1.000 Verarbeitungseinheiten bei.
Die Seite zum Erstellen von Instanzen sieht jetzt so aus:
Klicken Sie auf Erstellen.
Die Instanz wird in der Instanzliste angezeigt.
Datenbank erstellen
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Klicken Sie auf die von Ihnen erstellte Instanz, z. B. Test Instance.
Klicken Sie auf der Seite „Instanzübersicht“ auf Datenbank erstellen.
Geben Sie für den Datenbanknamen einen Namen ein, z. B. example-db.
Wählen Sie einen Datenbankdialekt aus.
Informationen zur Unterstützung von PostgreSQL und eine Anleitung zum Auswählen eines Dialekts finden Sie unter PostgreSQL-Oberfläche. Wenn Sie Google SQL ausgewählt haben, definieren Sie das Schema im nächsten Abschnitt dieser Kurzanleitung im Textfeld Schema definieren.
Ihre Seite zur Datenbankerstellung sieht jetzt so aus:
Klicken Sie auf Erstellen.
In der Google Cloud Console wird die Seite Übersicht für die Datenbank angezeigt, die Sie erstellt haben.
Schema für Datenbank erstellen
Klicken Sie auf der Seite Übersicht der Datenbank im Bereich „Tabellen“ auf Tabelle erstellen.
Geben Sie auf der Seite DDL-Anweisungen schreiben Folgendes ein:
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 ( SingerId BIGINT PRIMARY KEY, FirstName VARCHAR(1024), LastName VARCHAR(1024), SingerInfo BYTEA, BirthDate TIMESTAMPTZ );
Klicken Sie auf Senden.
Die Google Cloud Console kehrt zur Seite Übersicht der Datenbank zurück und zeigt, dass Schemaaktualisierungen durchgeführt werden. Wenn das Update abgeschlossen ist, sieht die Seite so aus:
GoogleSQL
PostgreSQL
Beachten Sie, dass PostgreSQL den Tabellennamen in Kleinbuchstaben umwandelt.
Daten einfügen und ändern
Die Google Cloud Console bietet eine Schnittstelle zum Einfügen, Bearbeiten und Löschen von Daten.
Daten einfügen
Klicken Sie auf der Seite Übersicht der Datenbank in der Liste der Tabellen auf die Tabelle „Spieler“.
In der Google Cloud Console wird die Seite Schema der Tabelle mit der Tabelle angezeigt.
Klicken Sie im Navigationsmenü auf Daten, um die Seite Daten in der Tabelle der Tabelle aufzurufen.
Klicken Sie auf Einfügen.
In der Google Cloud Console wird die Seite Abfrage in der Tabelle mit einer neuen Abfragetabelle angezeigt, die
INSERT
- undSELECT
-Anweisungen enthält, die Sie bearbeiten, um eine Zeile in die Tabelle mit den Daten einzufügen, und sich das Ergebnis dieser Einfügung ansehen: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>;
Beachten Sie, dass PostgreSQL die Spaltennamen vollständig in Kleinbuchstaben konvertiert.
Bearbeiten Sie die
VALUES
-Klausel derINSERT
-Anweisung und dieWHERE
-Klausel derSELECT
-Anweisung: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;
Klicken Sie auf Ausführen.
Spanner führt die Anweisungen aus. Wenn der Vorgang abgeschlossen ist, wird im Tab Ergebnisse angezeigt, dass mit der ersten Anweisung eine Zeile eingefügt wurde, und es wird ein Link zum Anzeigen der Tabellendaten bereitgestellt.
Klicken Sie im Tab Ergebnisse auf den Link Tabelle. Die Tabelle „Künfte“ enthält jetzt eine Zeile:
GoogleSQL
PostgreSQL
Klicken Sie auf Einfügen, um eine weitere Zeile hinzuzufügen.
In der Google Cloud Console wird wieder die Seite Abfrage der Tabelle mit einem neuen Abfragetab angezeigt, der dieselben
INSERT
- undSELECT
-Anweisungen enthält.Bearbeiten Sie die
VALUES
-Klausel derINSERT
-Anweisung und dieWHERE
-Klausel derSELECT
-Anweisung: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;
Klicken Sie auf Ausführen.
Nachdem Spanner die Anweisungen ausgeführt hat, zeigt der Tab Ergebnisse noch einmal an, dass die erste Anweisung eine Zeile eingefügt hat.
Klicken Sie auf den Link Tabelle. Die Tabelle „Spieler“ hat jetzt zwei Zeilen:
GoogleSQL
PostgreSQL
Sie können bei der Dateneingabe auch leere Zeichenfolgewerte eingeben.
Klicken Sie auf Einfügen, um eine Zeile hinzuzufügen.
Spanner zeigt wieder die Seite Abfrage der Tabelle mit einem neuen Abfragetab an, der dieselben
INSERT
- undSELECT
-Anweisungen enthält.Bearbeiten Sie die Vorlage mit der
VALUES
-Klausel derINSERT
-Anweisung und derWHERE
-Klausel derSELECT
-Anweisung: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;
Beachten Sie, dass der für die Nachname-Spalte angegebene Wert ein leerer String (
''
) ist, keinNULL
-Wert.Klicken Sie auf Ausführen.
Nachdem Spanner die Anweisungen ausgeführt hat, zeigt der Tab Ergebnisse an, dass die erste Anweisung eine Zeile eingefügt hat.
Klicken Sie auf den Link Tabelle. Die Tabelle
Singers
hat jetzt drei Zeilen und die Zeile mit dem Primärschlüsselwert3
hat einen leeren String in der SpalteLastName
:GoogleSQL
PostgreSQL
Daten bearbeiten
Aktivieren Sie auf der Seite Daten in der Tabelle der Tabelle das Kästchen für die Zeile mit dem Primärschlüsselwert
3
und klicken Sie dann auf Bearbeiten.Spanner zeigt die Seite Abfrage mit einem neuen Tab an, der die Vorlagen
UPDATE
undSELECT
enthält, die Sie bearbeiten können. DieWHERE
-Klauseln beider Anweisungen geben an, dass die zu aktualisierende Zeile die Zeile mit dem Primärschlüsselwert3
ist.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';
Bearbeiten Sie die
SET
-Klausel derUPDATE
-Anweisung, um nur das Geburtsdatum zu aktualisieren: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';
Klicken Sie auf Ausführen.
Spanner führt die Anweisungen aus. Wenn der Vorgang abgeschlossen ist, wird im Tab Ergebnisse angezeigt, dass mit der ersten Anweisung eine Zeile aktualisiert wurde, und es wird ein Link zum Anzeigen der Tabellendaten bereitgestellt.
Klicken Sie im Tab Ergebnisse auf den Link Tabelle.
Die aktualisierte Zeile enthält jetzt einen Wert für das Geburtsdatum.
GoogleSQL
PostgreSQL
Daten löschen
- Aktivieren Sie auf der Seite Daten in der Tabelle der Tabelle das Häkchen in der Zeile mit
2
in der ersten Spalte und klicken Sie dann auf Löschen. Klicken Sie im angezeigten Dialogfeld auf Bestätigen.
Die Tabelle „Spieler“ hat jetzt zwei Zeilen:
GoogleSQL
PostgreSQL
Abfrage ausführen
Klicken Sie auf der Seite Übersicht der Datenbank im Navigationsmenü auf Abfrage.
Klicken Sie auf Neuer Tab, um einen neuen Tab zu erstellen. Geben Sie dann die folgende Abfrage in den Abfrageeditor ein:
GoogleSQL
SELECT * FROM Singers;
PostgreSQL
SELECT * FROM singers;
Klicken Sie auf Ausführen.
Spanner führt die Abfrage aus. Wenn der Vorgang abgeschlossen ist, wird auf dem Tab Ergebnisse das Ergebnis Ihrer Abfrage angezeigt:
GoogleSQL
PostgreSQL
Glückwunsch! Sie haben erfolgreich eine Spanner-Datenbank erstellt und mit dem Abfrageeditor eine SQL-Anweisung ausgeführt.
Bereinigen
Löschen Sie die Datenbank und die Instanz, die Sie erstellt haben, um zusätzliche Kosten für Ihr Cloud-Rechnungskonto zu vermeiden. Beim Löschen einer Instanz werden automatisch auch alle in der Instanz erstellten Datenbanken gelöscht.
Datenbank löschen
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Klicken Sie auf den Namen der Instanz mit der Datenbank, die Sie löschen möchten, z. B. Test Instance.
Klicken Sie auf den Namen der Datenbank, die Sie löschen möchten, z. B. example-db.
Klicken Sie auf der Seite Datenbankdetails auf delete Datenbank löschen.
Bestätigen Sie, dass die Datenbank gelöscht werden soll. Geben Sie dazu den Datenbanknamen ein und klicken Sie auf Löschen.
Instanz löschen
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Klicken Sie auf den Namen der Instanz, die Sie löschen möchten, z. B. Test Instance.
Klicken Sie auf delete Instanz löschen.
Bestätigen Sie, dass die Instanz gelöscht werden soll. Geben Sie dazu den Instanznamen ein und klicken Sie auf Löschen.
Nächste Schritte
- Weitere Informationen zu Instanzen
- Schema und Datenmodell von Spanner
- Weitere Informationen zu Google SQL Data Definition Language (DDL)
- Weitere Informationen zu Abfrage-Ausführungsplänen
- Informationen zur Verwendung von Spanner mit C++, C#, Go, Java, Node.js, PHP, Python, Ruby, REST oder gcloud.