Datenbank in der Google Cloud Console erstellen und abfragen

In dieser Kurzanleitung wird gezeigt, wie Sie mit der Google Cloud Console eine Datenbank in Spanner erstellen, Daten einfügen und eine SQL-Abfrage 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.

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

Instanz mit der Google Cloud Console erstellen

Bei der ersten Verwendung von Spanner 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 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.

    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 für die 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.

    In der Google Cloud Console wird die Seite Übersicht der Datenbank wieder geöffnet und es wird angezeigt, dass Schemaaktualisierungen 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 die INSERT-Anweisung 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,
       FirstName,
       LastName,
       SingerInfo,
       BirthDate)
    VALUES
     (<SingerId>, -- type: INT64
       <FirstName>, -- type: STRING(1024)
       <LastName>, -- type: STRING(1024)
       <SingerInfo>, -- type: BYTES(MAX)
       <BirthDate> -- type: DATE
       )
    THEN RETURN
     SingerId,
     FirstName,
     LastName,
     SingerInfo,
     BirthDate;
    

    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,
        firstname,
        lastname,
        singerinfo,
        birthdate)
    VALUES
      (<singerid>, -- type: bigint
        <firstname>, -- type: character varying
        <lastname>, -- type: character varying
        <singerinfo>, -- type: bytea
        <birthdate> -- type: timestamp with time zone
        );
    THEN RETURN
       singerid,
       firstname,
       lastname,
       singerinfo,
       birthdate;
    

    Beachten Sie, dass PostgreSQL die Spaltennamen vollständig in Kleinbuchstaben konvertiert.

  4. Bearbeiten Sie die VALUES-Klausel der INSERT-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)
        )
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      SingerInfo,
      BirthDate;
    

    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
        );
    THEN RETURN
       singerid,
       firstname,
       lastname,
       singerinfo,
       birthdate;
    
  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 Anweisung eine Zeile eingefügt wurde:

    GoogleSQL

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

    PostgreSQL

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

  6. Klicken Sie im Explorer neben der Tabelle Singers auf  Aktionen ansehen und dann auf Daten einfügen.

  7. 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;
    
  8. Klicken Sie auf Ausführen.

    Nachdem Spanner die Anweisungen ausgeführt hat, wird im Tab Ergebnisse angezeigt, dass durch die Anweisung eine Zeile eingefügt wurde.

  9. Klicken Sie im Explorer neben der Tabelle Singers auf  Aktionen ansehen und dann auf Vorschau der Daten.

  10. Klicken Sie auf Ausführen. 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 Anweisung eine Zeile eingefügt wurde.

  4. Klicken Sie im Explorer neben der Tabelle Singers auf  Aktionen ansehen und dann auf Vorschau der Daten.

  5. Klicken Sie auf Ausführen. 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.

  4. Klicken Sie im Explorer neben der Tabelle Singers auf  Aktionen ansehen und dann auf Vorschau der Daten.

  5. Klicken Sie auf Ausführen. 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 in der Google Cloud Console 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 das Ergebnis der Abfrage auf dem Tab Ergebnisse 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, um zusätzliche Kosten für Ihr Google Cloud -Konto zu vermeiden. Wenn Sie die Cloud Billing API deaktivieren, werden die Gebühren nicht eingestellt. Wenn Sie eine Instanz löschen, werden alle Datenbanken in der Instanz 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. Test Instance (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