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 Spanner ausführen. Dabei führen Sie die folgenden Vorgänge aus:

  • Erstellen Sie eine Spanner-Instanz.
  • Datenbank erstellen
  • Erstellen Sie ein Schema.
  • Daten einfügen und ändern
  • Abfrage ausführen

Informationen zu den Kosten für die Verwendung von Spanner finden Sie unter Preise.

Hinweise

  1. 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.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  5. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  6. Optional: Die Spanner API sollte automatisch aktiviert sein. Falls nicht, aktivieren Sie sie manuell:

    Spanner API aktivieren
  1. Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „Cloud Spanner-Administrator“ („roles/spanner.admin“) für Ihr Projekt zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Erstellen von Instanzen und Datenbanken benötigen.

Instanz erstellen

Wenn Sie Spanner zum ersten Mal verwenden, müssen Sie eine Instanz erstellen. Dabei handelt es sich um eine Zuweisung von Ressourcen, die von Spanner-Datenbanken in dieser Instanz verwendet werden.

  1. Rufen Sie in der Google Cloud Console die Seite Spanner auf.

    Spanner aufrufen

  2. Wählen Sie ein Google Cloud-Projekt aus oder erstellen Sie eines, falls Sie dies noch nicht getan haben.

  3. Klicken Sie auf der Seite Spanner auf Bereitgestellte Instanz erstellen.

    Wenn Sie Spanner bereits verwendet haben, wird anstelle der Produktseite die Seite Spanner-Instanzen angezeigt. Klicken Sie auf Instanz erstellen.

  4. Geben Sie auf der Seite Instanz benennen einen Instanznamen ein, z. B. Test Instance.

  5. Die Instanz-ID wird automatisch anhand des Instanznamens eingegeben, z. B. als test-instance. Ändern Sie es bei Bedarf. Klicken Sie auf Weiter.

  6. Behalten Sie auf der Seite Instanz konfigurieren 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.

  7. Klicken Sie auf Weiter.

  8. Wählen Sie auf der Seite Rechenkapazität zuweisen die Option Verarbeitungseinheiten (Verarbeitungseinheiten) aus und behalten Sie den Standardwert von 1.000 Verarbeitungseinheiten bei.

  9. Klicken Sie auf Erstellen.

    In der Google Cloud Console wird die Seite Übersicht für die von Ihnen erstellte Instanz angezeigt.

Datenbank erstellen

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Spanner-Instanzen aufrufen

  2. Klicken Sie auf die von Ihnen erstellte Instanz, z. B. Test Instance.

  3. Klicken Sie auf der Seite mit der Instanzübersicht, die geöffnet wird, auf Datenbank erstellen.

  4. Geben Sie als Datenbanknamen einen Namen ein, z. B. example-db.

  5. 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 GoogleSQL 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:

    Das aktualisierte Fenster zur Datenbankerstellung.

  6. Klicken Sie auf Erstellen.

    In der Google Cloud Console wird die Seite Übersicht für die von Ihnen erstellte Datenbank angezeigt.

Schema für Datenbank erstellen

  1. Klicken Sie im Navigationsmenü auf Spanner Studio.

  2. Klicken Sie auf der Seite Spanner Studio auf Neuer Tab oder verwenden Sie den leeren Editor-Tab.

  3. Geben Sie 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 (
      BirthDate  TIMESTAMPTZ,
      SingerId   BIGINT PRIMARY KEY,
      FirstName  VARCHAR(1024),
      LastName   VARCHAR(1024),
      SingerInfo BYTEA
    );
    
  4. Klicken Sie auf Ausführen.

    Die Google Cloud Console kehrt zur Seite Übersicht der Datenbank zurück und zeigt an, dass Schemaaktualisierungen durchgeführt werden. Wenn das Update abgeschlossen ist, sieht die Seite so aus:

    GoogleSQL

    Die aktualisierte Übersichtsseite

    PostgreSQL

    Die aktualisierte Übersichtsseite

    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

  1. Klicken Sie auf der Seite Übersicht der Datenbank in der Liste der Tabellen auf die Tabelle " Lösungskünstler".

    In der Google Cloud Console wird die Seite Schema der Tabelle "Sänger" angezeigt.

  2. Klicken Sie im Navigationsmenü auf Data (Daten), um die Seite Data (Daten) der Tabelle "Sänger" aufzurufen.

  3. Klicken Sie auf Einfügen.

    In der Google Cloud Console wird die Spanner Studio-Seite der Tabelle "Sänger" mit einem neuen Abfragetab geöffnet. Dieser enthält die Anweisungen INSERT und SELECT, die Sie bearbeiten, um eine Zeile in die Tabelle "Sänger" einzufügen und das Ergebnis dieser Einfügung anzusehen:

    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.

  4. Bearbeiten Sie die VALUES-Klausel der INSERT-Anweisung und die WHERE-Klausel der SELECT-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;
    
  5. 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.

  6. Klicken Sie im Tab Ergebnisse auf den Link Tabelle. Die Tabelle " Plays" enthält jetzt eine Zeile:

    GoogleSQL

    Die aktualisierten Daten in der Tabelle " Enterprise" mit einer Zeile.

    PostgreSQL

    Die aktualisierten Daten in der Tabelle " Enterprise" mit einer Zeile.

  7. Klicken Sie auf Einfügen, um eine weitere Zeile hinzuzufügen.

    In der Google Cloud Console wird wieder die Seite Spanner Studio der Tabelle "Sänger" mit einem neuen Abfragetab angezeigt, der die gleichen Anweisungen INSERT und SELECT enthält.

  8. Bearbeiten Sie die VALUES-Klausel der INSERT-Anweisung und die WHERE-Klausel der SELECT-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;
    
  9. Klicken Sie auf Ausführen.

    Nachdem Spanner die Anweisungen ausgeführt hat, zeigt der Tab Ergebnisse wieder an, dass die erste Anweisung eine Zeile eingefügt hat.

  10. Klicken Sie auf den Link Tabelle. Die Tabelle " Options" enthält jetzt zwei Zeilen:

    GoogleSQL

    Die aktualisierten Daten in der Tabelle "Aufnahmen" mit zwei Zeilen.

    PostgreSQL

    Die aktualisierten Daten in der Tabelle "Aufnahmen" mit zwei Zeilen.

Sie können bei der Dateneingabe auch leere Zeichenfolgewerte eingeben.

  1. Klicken Sie auf Einfügen, um eine Zeile hinzuzufügen.

    Spanner zeigt wieder die Seite Spanner Studio der Tabelle "Sänger" mit einem neuen Abfragetab an, der die gleichen Anweisungen INSERT und SELECT enthält.

  2. Bearbeiten Sie die Vorlage mit der VALUES-Klausel der INSERT-Anweisung und der WHERE-Klausel der SELECT-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, kein NULL-Wert.

  3. Klicken Sie auf Ausführen.

    Nachdem Spanner die Anweisungen ausgeführt hat, wird auf dem Tab Ergebnisse angezeigt, dass die erste Anweisung eine Zeile eingefügt hat.

  4. Klicken Sie auf den Link Tabelle. Die Tabelle Singers hat jetzt drei Zeilen und die Zeile mit dem Primärschlüsselwert 3 in der Spalte LastName enthält einen leeren String:

    GoogleSQL

    Die aktualisierten Daten in der Tabelle " Enterprise" mit drei Zeilen.

    PostgreSQL

    Die aktualisierten Daten in der Tabelle " Enterprise" mit drei Zeilen.

Daten bearbeiten

  1. Klicken Sie auf der Seite Daten der Tabelle "Sänger" das Kästchen in der Zeile mit dem Primärschlüsselwert 3 an und klicken Sie dann auf Bearbeiten.

    In Spanner wird die Seite Spanner Studio mit einem neuen Tab angezeigt, der die Vorlagenanweisungen UPDATE und SET enthält, die Sie bearbeiten können. Die WHERE-Klauseln beider Anweisungen geben an, dass die zu aktualisierende Zeile die Zeile mit dem Primärschlüsselwert 3 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';
    
  2. Bearbeiten Sie die SET-Klausel der UPDATE-Anweisung so, dass nur das Geburtsdatum aktualisiert wird:

    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';
    
  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.

  4. Klicken Sie im Tab Ergebnisse auf den Link Tabelle.

    Die aktualisierte Zeile enthält nun einen Wert für das Geburtsdatum.

    GoogleSQL

    Die aktualisierten Daten der Tabelle " Plays" mit einer aktualisierten Zeile.

    PostgreSQL

    Die aktualisierten Daten der Tabelle " Plays" mit einer aktualisierten Zeile.

Daten löschen

  1. Klicken Sie auf der Seite Daten der Tabelle "Sänger" das Kästchen in der Zeile mit der ersten Spalte mit 2 an und klicken Sie dann auf Löschen.
  2. Klicken Sie im angezeigten Dialogfeld auf Bestätigen.

    Die Tabelle " Options" enthält jetzt zwei Zeilen:

    GoogleSQL

    Die aktualisierten Daten in der Tabelle "Aufnahmen" enthalten zwei Zeilen. Die Zeile für SingerId 2 fehlt.

    PostgreSQL

    Die aktualisierten Daten in der Tabelle "Aufnahmen" enthalten zwei Zeilen. Die Zeile für SingerId 2 fehlt.

Abfrage ausführen

  1. Klicken Sie auf der Seite Übersicht der Datenbank im Navigationsmenü auf Spanner Studio.

  2. Klicken Sie auf Neuer Tab, um einen neuen Tab für Abfragen zu erstellen. Geben Sie dann die folgende Abfrage in den Query Editor ein:

    GoogleSQL

    SELECT * FROM Singers;
    

    PostgreSQL

    SELECT * FROM singers;
    
  3. Klicken Sie auf Ausführen.

    Spanner führt die Abfrage aus. Wenn Sie fertig sind, wird auf dem Tab Ergebnisse das Ergebnis der Abfrage angezeigt:

    GoogleSQL

    Die Abfrageergebnisse.

    PostgreSQL

    Die Abfrageergebnisse.

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. Durch das Löschen einer Instanz werden automatisch alle in der Instanz erstellten Datenbanken gelöscht.

Datenbank löschen

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Spanner-Instanzen aufrufen

  2. Klicken Sie auf den Namen der Instanz mit der Datenbank, die Sie löschen möchten, z. B. Test Instance.

  3. Klicken Sie auf den Namen der Datenbank, die Sie löschen möchten, z. B. example-db.

  4. Klicken Sie auf der Seite Datenbankdetails auf Datenbank löschen.

  5. Bestätigen Sie, dass Sie die Datenbank löschen möchten, indem Sie den Datenbanknamen eingeben und auf Löschen klicken.

Instanz löschen

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Spanner-Instanzen aufrufen

  2. Klicken Sie auf den Namen der Instanz, die Sie löschen möchten, z. B. Testinstanz.

  3. Klicken Sie auf Instanz löschen.

  4. Bestätigen Sie, dass Sie die Instanz löschen möchten, indem Sie den Instanznamen eingeben und auf Löschen klicken.

Nächste Schritte