Créer et interroger une base de données à l'aide de la console Google Cloud

Ce guide de démarrage rapide vous explique comment effectuer des opérations de base dans Spanner à l'aide de la console Google Cloud. Vous allez :

  • Créez une instance Spanner.
  • Créer une base de données
  • Créez un schéma.
  • Insérer et modifier des données
  • exécuter une requête.

Pour en savoir plus sur le coût d'utilisation de Spanner, consultez la page Tarifs.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  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. Facultatif: L'API Spanner doit être activée automatiquement. Si ce n'est pas le cas, activez-la manuellement:

    Activer l'API Spanner
  7. Pour obtenir les autorisations dont vous avez besoin pour créer des instances et des bases de données, demandez à votre administrateur de vous accorder le Administrateur Cloud Spanner (roles/spanner.admin) Cloud IAM sur votre projet.

Créer une instance

Lorsque vous utilisez Spanner pour la première fois, vous devez créer une instance, c'est-à-dire un élément qui alloue les ressources utilisées par les bases de données Spanner dans cette instance.

  1. Dans la console Google Cloud, accédez à la page Spanner.

    Accéder à Spanner

  2. Sélectionnez ou créez un projet Google Cloud si vous ne l'avez pas déjà fait.

  3. Sur la page Spanner, cliquez sur Créer une instance provisionnée.

    Si vous avez déjà utilisé Spanner, vous verrez Instances de Spanner au lieu de la page du produit Cliquez sur Créer une instance.

  4. Sur la page Nommer votre instance, saisissez un nom d'instance, par exemple Instance de test.

  5. L'ID d'instance est automatiquement saisi en fonction du nom de l'instance, par exemple test-instance. Modifiez-le si nécessaire. Cliquez sur Continuer.

  6. Sur la page Configurer votre instance, conservez l'option par défaut Régional et sélectionnez une configuration dans le menu déroulant.

    La configuration que vous choisissez détermine l'emplacement géographique où vos instances seront stockées et dupliquées.

  7. Cliquez sur Continuer.

  8. Sur la page Allouer de la capacité de calcul, sélectionnez Unités de traitement (PU) et conservez la valeur par défaut de 1 000 unités de traitement.

  9. Cliquez sur Créer.

    La console Google Cloud affiche la page Présentation de l'instance. que vous avez créés.

Créer une base de données

  1. Dans la console Google Cloud, accédez à la page Instances Spanner.

    Accéder aux instances Spanner

  2. Cliquez sur l'instance que vous avez créée, par exemple Instance de test.

  3. Sur la page de présentation de l'instance qui s'affiche, cliquez sur Créer une base de données.

  4. Pour le nom de la base de données, saisissez un nom tel que example-db.

  5. Sélectionnez un dialecte de base de données.

    Pour plus d'informations sur la compatibilité de PostgreSQL et sur le choix d'un dialecte, consultez la page Interface PostgreSQL. Si vous avez sélectionné Google SQL, vous allez définir le schéma dans le champ de texte Définir votre schéma de la section suivante de ce guide de démarrage.

    Voici à quoi ressemble la page de création de votre instance :

    Fenêtre de création de base de données mise à jour.

  6. Cliquez sur Créer.

    La console Google Cloud affiche la page Présentation de la base de données que vous avez créée.

Créer un schéma pour votre base de données

  1. Dans le menu de navigation, cliquez sur Spanner Studio.

  2. Sur la page Spanner Studio, cliquez sur Nouvel onglet ou utilisez le champ vide de l'éditeur.

  3. Saisissez cette commande :

    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. Cliquez sur Exécuter.

    La console Google Cloud revient à la page Présentation de la base de données et indique que des mises à jour du schéma sont en cours. Une fois la mise à jour terminée, la page se présente comme suit :

    GoogleSQL

    Page "Vue d'ensemble" mise à jour.

    PostgreSQL

    Page de présentation mise à jour.

    Notez que PostgreSQL convertit le nom de la table en minuscules.

Insérer et modifier des données

La console Google Cloud fournit une interface permettant d'insérer, de modifier et supprimer des données.

Insérer des données

  1. Dans la liste des tables de la page Présentation de la base de données, cliquez sur la table "Singers".

    La console Google Cloud affiche la page Schéma de la table "Singers" (Chanteurs).

  2. Dans le menu de navigation, cliquez sur Données pour afficher la page Données de la table "Singers".

  3. Cliquez sur Insert.

    La console Google Cloud affiche le composant Spanner Studio de la table "Singers" avec un nouvel onglet de requête contenant les instructions INSERT et SELECT qui pour insérer une ligne dans la table "Singers" et afficher le résultat insertion:

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

    Notez que PostgreSQL convertit les noms de colonnes en minuscules.

  4. Modifiez la clause VALUES de l'instruction INSERT et la clause WHERE de l'instruction SELECT :

    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. Cliquez sur Exécuter.

    Spanner exécute les instructions. Lorsque vous avez terminé, l'onglet Résultats indique que la première instruction a inséré une ligne et fournit un lien pour afficher les données de la table.

  6. Dans l'onglet Résultats, cliquez sur le lien table. La table "Singers" contient maintenant une ligne :

    GoogleSQL

    Données de la table &quot;Singers&quot; (Chanteurs) mises à jour avec une ligne.

    PostgreSQL

    Données de la table &quot;Singers&quot; (Chanteurs) mises à jour avec une ligne.

  7. Cliquez sur Insérer pour ajouter une autre ligne.

    La console Google Cloud affiche à nouveau la chaîne Spanner Studio de la table "Singers" page comportant un nouvel onglet de requête contenant les mêmes valeurs INSERT et SELECT .

  8. Modifiez la clause VALUES de l'instruction INSERT et la clause WHERE de l'instruction SELECT :

    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. Cliquez sur Exécuter.

    Une fois que Spanner a exécuté les instructions, l'onglet Résultats indique que la première instruction a inséré une ligne.

  10. Cliquez sur le lien de table. La table "Singers" contient maintenant deux lignes :

    GoogleSQL

    Données de la table &quot;Singers&quot; (Chanteurs) mises à jour avec deux lignes.

    PostgreSQL

    Données de la table &quot;Singers&quot; mises à jour avec deux lignes

Vous pouvez également insérer des valeurs de chaîne vide lorsque vous saisissez des données.

  1. Cliquez sur Insérer pour ajouter une ligne.

    Spanner affiche à nouveau la page Spanner Studio de la table "Singers". Elle comporte un nouvel onglet de requête contenant les mêmes instructions INSERT et SELECT.

  2. Modifiez la clause VALUES de l'instruction INSERT du modèle et la clause WHERE de l'instruction SELECT :

    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;
    

    Notez que la valeur fournie pour la colonne du nom de famille est une chaîne vide, '', et non une valeur NULL.

  3. Cliquez sur Exécuter.

    Une fois que Spanner a exécuté les instructions, l'onglet Résultats indique que la première instruction a inséré une ligne.

  4. Cliquez sur le lien de table. La table Singers contient désormais trois lignes, dont une avec la valeur de clé primaire 3 comporte une chaîne vide dans la colonne LastName :

    GoogleSQL

    Données de la table &quot;Singers&quot; (Chanteurs) mises à jour avec trois lignes.

    PostgreSQL

    Données de la table &quot;Singers&quot; (Chanteurs) mises à jour avec trois lignes.

Modifier des données

  1. Sur la page Données de la table "Singers", cochez la case de la ligne correspondant à la valeur de la clé primaire de 3, puis cliquez sur Modifier.

    Spanner affiche la page Spanner Studio avec la mention Nouvel onglet contenant des modèles d'instructions UPDATE et SET que vous pouvez modifier. Notez que les clauses WHERE des deux instructions indiquent que la ligne à mettre à jour est celle qui possède la valeur de clé primaire 3.

    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. Modifiez la clause SET de l'instruction UPDATE pour ne mettre à jour que la date de naissance :

    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. Cliquez sur Exécuter.

    Spanner exécute les instructions. Lorsque vous avez terminé, l'onglet Résultats indique que la première instruction a mis à jour une ligne et fournit un lien pour afficher les données de la table.

  4. Dans l'onglet Résultats, cliquez sur le lien table.

    La ligne mise à jour comporte maintenant une valeur pour la date de naissance.

    GoogleSQL

    Données de la table &quot;Singers&quot; mises à jour avec une ligne mise à jour.

    PostgreSQL

    Données de la table &quot;Singers&quot; mises à jour avec une ligne mise à jour.

Supprimer des données

  1. Sur la page Données de la table "Singers", cochez la case sur la ligne contenant 2 dans la première colonne, puis cliquez sur Supprimer.
  2. Dans la boîte de dialogue qui s'affiche, cliquez sur Confirmer.

    La table "Singers" (Chanteurs) contient maintenant deux lignes:

    GoogleSQL

    Données de la table &quot;Singers&quot; (Chanteurs) mises à jour avec deux lignes la ligne pour SingerId 2
a disparu.

    PostgreSQL

    Données de la table &quot;Singers&quot; (Chanteurs) mises à jour avec deux lignes la ligne pour SingerId 2
a disparu.

Exécuter une requête

  1. Sur la page Présentation de la base de données, cliquez sur Spanner Studio dans le menu de navigation.

  2. Cliquez sur Nouvel onglet pour créer un onglet de requête. Saisissez ensuite la requête suivante dans l'éditeur de requête :

    GoogleSQL

    SELECT * FROM Singers;
    

    PostgreSQL

    SELECT * FROM singers;
    
  3. Cliquez sur Exécuter.

    Spanner exécute la requête. Lorsque vous avez terminé, l'onglet Résultats affiche le résultat de votre requête :

    GoogleSQL

    Résultats de la requête

    PostgreSQL

    Résultats de la requête

Félicitations ! Vous avez créé une base de données Spanner et exécuté une instruction SQL à l'aide de l'éditeur de requête.

Effectuer un nettoyage

Pour éviter des frais supplémentaires sur votre compte de facturation Cloud, supprimez la base de données et l'instance que vous avez créées. La suppression d'une instance supprime automatiquement toutes les bases de données créées dans l'instance.

Supprimer la base de données

  1. Dans la console Google Cloud, accédez à la page Instances Spanner.

    Accéder aux instances Spanner

  2. Cliquez sur le nom de l'instance contenant la base de données que vous souhaitez supprimer, par exemple Instance de test.

  3. Cliquez sur le nom de la base de données que vous souhaitez supprimer, par exemple example-db.

  4. Sur la page Détails de la base de données, cliquez sur Supprimer la base de données.

  5. Confirmez que vous souhaitez supprimer la base de données en saisissant son nom, puis en cliquant sur Supprimer.

Supprimer l'instance

  1. Dans la console Google Cloud, accédez à la page Instances Spanner.

    Accéder aux instances Spanner

  2. Cliquez sur le nom de l'instance que vous souhaitez supprimer, par exemple Instance de test.

  3. Cliquez sur  Supprimer l'instance.

  4. Confirmez que vous souhaitez supprimer l'instance en saisissant son nom et en cliquant sur Supprimer.

Étape suivante