Créer et interroger une base de données dans la console Google Cloud

Ce guide de démarrage rapide vous explique comment utiliser la console Google Cloud pour créer une base de données dans Spanner, insérer des données et exécuter une requête SQL.

Vous allez :

  • Créer une instance Spanner
  • Créer une base de données
  • Créer un schéma.
  • Insérer et modifier des données
  • Exécutez 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 sans frais 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.

    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. Facultatif : L'API Spanner devrait être activée automatiquement. Si ce n'est pas le cas, activez-la manuellement :

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

Créer une instance avec la console Google Cloud

Lorsque vous utilisez Spanner pour la première fois, vous devez créer une instance. Celle-ci représente l'allocation des ressources nécessaires aux bases de données Spanner que vous créerez dans cette instance.

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

    Accéder à Spanner

  2. Si ce n'est pas déjà fait, sélectionnez ou créez un projet Google Cloud .

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

    Si vous avez déjà utilisé Spanner, la page Instances de Spanner s'affiche à la place de la page produit. Cliquez sur Créer une instance.

  4. Dans la section Sélectionner une édition, sélectionnez Standard, puis cliquez sur Continuer.

  5. Dans la section Nommer l'instance, saisissez un nom d'instance, par exemple Test Instance.

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

  6. Dans la section Configurer votre instance, pour Sélectionner une configuration, conservez l'option par défaut Régional et sélectionnez un emplacement de 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. Dans la section Configurer la capacité de calcul, pour Sélectionner une unité, sélectionnez Unités de traitement (PU). Pour Choisir un mode de scaling, conservez l'option Attribution manuelle et la Quantité par défaut de 1000 unités de traitement.

  9. Facultatif : Dans la section Sauvegardes, décochez la case Activer les planifications de sauvegarde par défaut si vous ne souhaitez pas que des planifications de sauvegarde par défaut soient créées pour cette instance de test.

  10. Cliquez sur Créer.

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

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

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

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

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

    Pour en savoir plus sur la compatibilité avec PostgreSQL et obtenir des conseils pour choisir un dialecte, consultez Interface PostgreSQL. Laissez la section Définir votre schéma (facultatif) vide. Vous allez définir le schéma dans Spanner Studio dans la section suivante de ce guide de démarrage rapide.

  6. Cliquez sur Créer.

    La console Google Cloud affiche la page de 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 l'onglet Requête sans titre, puis saisissez l'une des requêtes suivantes,
    selon le dialecte de votre base de données :

    GoogleSQL

    CREATE TABLE Singers (
      SingerId   INT64 NOT NULL,
      FirstName  STRING(1024),
      LastName   STRING(1024),
      BirthDate  DATE
    ) PRIMARY KEY(SingerId);
    

    PostgreSQL

    CREATE TABLE Singers (
      SingerId   BIGINT PRIMARY KEY,
      FirstName  VARCHAR(1024),
      LastName   VARCHAR(1024),
      BirthDate  TIMESTAMPTZ
    );
    
  3. Cliquez sur Exécuter.

    Spanner exécute l'instruction. Une fois l'opération terminée, l'onglet Résultats affiche Mise à jour terminée.

Insérer et modifier des données

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

Insérer des données

  1. Dans le volet Explorateur, cliquez sur  Afficher les actions pour la table Singers, puis sur Insérer des données.

    Spanner ouvre un nouvel onglet de requête dans Spanner Studio contenant un modèle d'instruction INSERT.

  2. Modifiez la clause VALUES de l'instruction INSERT du modèle pour insérer une ligne dans la table Singers et afficher le résultat de cette 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,
        FirstName,
        LastName,
        BirthDate)
    VALUES
      (1, -- type: INT64
        'Marc', -- type: STRING(1024)
        'Richards', -- type: STRING(1024)
        NULL -- type: DATE
        )
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      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,
        birthdate)
    VALUES
      (1, -- type: bigint
        'Marc', -- type: character varying
        'Richards', -- type: character varying
        NULL -- type: timestamp with time zone
        )
    RETURNING
      singerid,
      firstname,
      lastname,
      birthdate;
    

    Notez que PostgreSQL convertit les noms de colonnes en minuscules.

  3. Cliquez sur Exécuter.

    Spanner exécute l'instruction. Une fois l'opération terminée, l'onglet Résultats affiche 1 ligne insérée et les données de la ligne insérée.

  4. Dans le volet Explorateur, cliquez sur  Afficher les actions pour la table Singers, puis sur Insérer des données.

  5. Modifiez la clause VALUES de l'instruction INSERT :

    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,
        BirthDate)
    VALUES
      (2, -- type: INT64
        'Catalina', -- type: STRING(1024)
        'Smith', -- type: STRING(1024)
        NULL -- type: DATE
        )
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      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,
        birthdate)
    VALUES
      (2, -- type: bigint
        'Catalina', -- type: character varying
        'Smith', -- type: character varying
        NULL -- type: timestamp with time zone
        )
    RETURNING
      singerid,
      firstname,
      lastname,
      birthdate;
    
  6. Cliquez sur Exécuter.

    Spanner exécute l'instruction. Une fois l'opération terminée, l'onglet Résultats affiche 1 ligne insérée et les données de la ligne insérée.

  7. Dans le volet Explorateur, cliquez sur  Afficher les actions pour la table Singers, puis sur Prévisualiser les données.

  8. Cliquez sur Exécuter. L'onglet Résultats affiche les deux lignes de la table Singers.

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

  1. Dans le volet Explorateur, cliquez sur  Afficher les actions pour la table Singers, puis sur Insérer des données.

    Spanner ouvre un nouvel onglet de requête dans Spanner Studio contenant l'instruction INSERT du modèle.

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

    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,
        BirthDate)
    VALUES
      (3, -- type: INT64
        'Kena', -- type: STRING(1024)
        '', -- type: STRING(1024)
        NULL -- type: DATE
        )
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      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,
        birthdate)
    VALUES
      (3, -- type: bigint
        'Kena', -- type: character varying
        '', -- type: character varying
        NULL -- type: timestamp with time zone
        )
    RETURNING
      singerid,
      firstname,
      lastname,
      birthdate;
    
  3. Cliquez sur Exécuter.

    Spanner exécute l'instruction. Une fois l'opération terminée, l'onglet Résultats affiche 1 ligne insérée et les données de la ligne insérée.

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

  4. Dans le volet Explorateur, cliquez sur  Afficher les actions pour la table Singers, puis sur Prévisualiser les données.

  5. Cliquez sur Exécuter. L'onglet Résultats affiche les trois lignes de la table Singers, et la ligne dont la valeur de clé primaire est 3 comporte une chaîne vide dans la colonne LastName.

Modifier des données

  1. Cliquez sur Nouvel onglet pour créer un onglet de requête, puis saisissez l'instruction UPDATE suivante pour mettre à jour la date de naissance de la ligne avec la valeur de clé primaire 3 :

    GoogleSQL

    UPDATE
      Singers
    SET
      BirthDate='1961-04-01'
    WHERE
      SingerId=3
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      BirthDate;
    

    PostgreSQL

    UPDATE
      singers
    SET
      birthdate='1961-04-01 00:00:00 -8:00'
    WHERE
      singerid=3
    RETURNING
      singerid,
      firstname,
      lastname,
      birthdate;
    
  2. Cliquez sur Exécuter.

    Spanner exécute l'instruction. Une fois l'opération terminée, l'onglet Résultats affiche 1 ligne mise à jour et les données de la ligne mise à jour.

  3. Dans le volet Explorateur, cliquez sur  Afficher les actions pour la table Singers, puis sur Prévisualiser les données.

  4. Cliquez sur Exécuter. L'onglet Résultats affiche les lignes de la table Singers, où la ligne mise à jour comporte désormais une valeur pour la date de naissance.

Supprimer des données

  1. Cliquez sur Nouvel onglet pour créer un onglet de requête, puis saisissez l'instruction DELETE suivante pour supprimer la ligne dont la valeur de clé primaire est 2 :

    GoogleSQL

    DELETE FROM Singers
    WHERE SingerId = 2;
    

    PostgreSQL

    DELETE FROM singers
    WHERE singerid = 2;
    
  2. Cliquez sur Exécuter.

    Spanner exécute l'instruction. Une fois l'opération terminée, l'onglet Résultats affiche 1 ligne supprimée. La table Singers contient maintenant deux lignes.

Exécuter une requête dans la console Google Cloud

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

    Spanner exécute la requête. Une fois l'opération terminée, l'onglet Résultats affiche le résultat de votre 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 que des frais supplémentaires ne soient facturés sur votre compte Google Cloud , supprimez la base de données et l'instance. La désactivation de l'API Cloud Billing n'arrête pas les frais. Lorsque vous supprimez une instance, toutes les bases de données qu'elle contient sont supprimées.

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, Test Instance).

  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 et 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 Test Instance.

  3. Cliquez sur Supprimer l'instance.

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

Étapes suivantes