Datenbank mit der Google Cloud Console erstellen und abfragen

In dieser Kurzanleitung wird gezeigt, wie Sie grundlegende Vorgänge in Spanner mit derGoogle Cloud Console 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 Cloud Spanner finden Sie unter Preise.

Hinweise

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Optional: Die Spanner API sollte automatisch aktiviert werden. Ist das nicht der Fall, aktivieren Sie sie manuell:

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

  8. 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.

    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 schon einmal 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. Testinstanz.

    5. Die Instanz-ID wird automatisch basierend auf dem Instanznamen 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 aus und behalten Sie den Standardwert von 1.000 Verarbeitungseinheiten bei.

    9. Klicken Sie auf Erstellen.

      In der Google Cloud Konsole 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.

      Cloud Spanner-Instanzen aufrufen

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

    3. Klicken Sie auf der Übersichtsseite der Instanz, die sich öffnet, auf Datenbank erstellen.

    4. Geben Sie für den Datenbanknamen einen Namen wie example-db ein.

    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 Textfeld Schema definieren im nächsten Abschnitt dieser Kurzanleitung.

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

      In der Google Cloud -Console wird die Seite Übersicht der Datenbank wieder angezeigt und es wird darauf hingewiesen, dass Schema-Updates ausgefü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 konvertiert.

    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 Tabellenliste auf die Tabelle „Singers“.

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

    2. Klicken Sie im Navigationsmenü auf Daten, um die Seite Daten der Tabelle „Sänger“ aufzurufen.

    3. Klicken Sie auf Einfügen.

      In der Google Cloud Konsole wird die Spanner Studio-Seite der Tabelle „Singers“ mit einem neuen Abfragetab angezeigt, der INSERT- und SELECT-Anweisungen enthält, die Sie bearbeiten, um eine Zeile in die Tabelle „Singers“ 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 „Singers“ enthält jetzt eine Zeile:

      GoogleSQL

      Die aktualisierten Daten der Tabelle „Singers“ mit einer Zeile.

      PostgreSQL

      Die aktualisierten Daten der Tabelle „Singers“ mit einer Zeile.

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

      In der Google Cloud Console wird noch einmal die Seite Spanner Studio der Tabelle „Singers“ mit einem neuen Abfragetab angezeigt, der die gleichen INSERT- und SELECT-Anweisungen 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, wird im Tab Ergebnisse noch einmal angezeigt, dass durch die erste Anweisung eine Zeile eingefügt wurde.

    10. Klicken Sie auf den Link Tabelle. Die Tabelle „Singers“ enthält jetzt zwei Zeilen:

      GoogleSQL

      Die aktualisierten Daten der Tabelle „Singers“ mit zwei Zeilen.

      PostgreSQL

      Die aktualisierten Daten der Tabelle „Singers“ 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 noch einmal die Seite Spanner Studio der Tabelle "Singers" mit einem neuen Abfragetab an, der die gleichen INSERT- und SELECT-Anweisungen 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 im Tab Ergebnisse angezeigt, dass durch die erste Anweisung eine Zeile eingefügt wurde.

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

      GoogleSQL

      Die aktualisierten Daten der Tabelle „Singers“ mit drei Zeilen.

      PostgreSQL

      Die aktualisierten Daten der Tabelle „Singers“ mit drei Zeilen.

    Daten bearbeiten

    1. Klicken Sie auf der Seite Daten der Tabelle „Singers“ auf das Kästchen in der Zeile mit dem Primärschlüsselwert 3 und dann auf Bearbeiten.

      In Spanner wird die Seite Spanner Studio mit einem neuen Tab angezeigt, der die von Ihnen bearbeiteten UPDATE- und SET-Anweisungen der Vorlage enthält. 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, 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';
      
    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 jetzt einen Wert für das Geburtsdatum.

      GoogleSQL

      Die aktualisierten Daten der Tabelle „Singers“ mit einer aktualisierten Zeile.

      PostgreSQL

      Die aktualisierten Daten der Tabelle „Singers“ mit einer aktualisierten Zeile.

    Daten löschen

    1. Klicken Sie auf der Seite Daten der Tabelle „Singers“ auf das Kästchen in der Zeile mit 2 in der ersten Spalte und dann auf Löschen.
    2. Klicken Sie im angezeigten Dialogfeld auf Bestätigen.

      Die Tabelle „Singers“ enthält jetzt zwei Zeilen:

      GoogleSQL

      Die aktualisierten Daten der Tabelle „Singers“ mit zwei Zeilen; die Zeile für „SingerId 2“ fehlt.

      PostgreSQL

      Die aktualisierten Daten der Tabelle „Singers“ mit 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 Abfragetab zu erstellen. Geben Sie dann die folgende Abfrage in den Abfrageeditor ein:

      GoogleSQL

      SELECT * FROM Singers;
      

      PostgreSQL

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

      Spanner führt die Abfrage aus. Wenn die Ausführung abgeschlossen ist, 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 eine SQL-Anweisung mit dem Abfrageeditor 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 alle in dieser Instanz erstellten Datenbanken automatisch gelöscht.

    Datenbank löschen

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

      Cloud Spanner-Instanzen aufrufen

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

    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.

      Cloud 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