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
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Facultatif: L'API Spanner doit être activée automatiquement. Si ce n'est pas le cas, activez-la manuellement: Activer l'API Spanner
-
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.
Dans la console Google Cloud, accédez à la page Spanner.
Sélectionnez ou créez un projet Google Cloud si vous ne l'avez pas déjà fait.
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.
Sur la page Nommer votre instance, saisissez un nom d'instance, par exemple Instance de test.
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.
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.
Cliquez sur Continuer.
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.
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
Dans la console Google Cloud, accédez à la page Instances Spanner.
Cliquez sur l'instance que vous avez créée, par exemple Instance de test.
Sur la page de présentation de l'instance qui s'affiche, cliquez sur Créer une base de données.
Pour le nom de la base de données, saisissez un nom tel que example-db.
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 :
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
Dans le menu de navigation, cliquez sur Spanner Studio.
Sur la page Spanner Studio, cliquez sur
Nouvel onglet ou utilisez le champ vide de l'éditeur.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 );
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
PostgreSQL
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
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).
Dans le menu de navigation, cliquez sur Données pour afficher la page Données de la table "Singers".
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
etSELECT
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.
Modifiez la clause
VALUES
de l'instructionINSERT
et la clauseWHERE
de l'instructionSELECT
: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;
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.
Dans l'onglet Résultats, cliquez sur le lien table. La table "Singers" contient maintenant une ligne :
GoogleSQL
PostgreSQL
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
etSELECT
.Modifiez la clause
VALUES
de l'instructionINSERT
et la clauseWHERE
de l'instructionSELECT
: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;
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.
Cliquez sur le lien de table. La table "Singers" contient maintenant deux lignes :
GoogleSQL
PostgreSQL
Vous pouvez également insérer des valeurs de chaîne vide lorsque vous saisissez des données.
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
etSELECT
.Modifiez la clause
VALUES
de l'instructionINSERT
du modèle et la clauseWHERE
de l'instructionSELECT
: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 valeurNULL
.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.
Cliquez sur le lien de table. La table
Singers
contient désormais trois lignes, dont une avec la valeur de clé primaire3
comporte une chaîne vide dans la colonneLastName
:GoogleSQL
PostgreSQL
Modifier des données
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
etSET
que vous pouvez modifier. Notez que les clausesWHERE
des deux instructions indiquent que la ligne à mettre à jour est celle qui possède la valeur de clé primaire3
.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';
Modifiez la clause
SET
de l'instructionUPDATE
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';
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.
Dans l'onglet Résultats, cliquez sur le lien table.
La ligne mise à jour comporte maintenant une valeur pour la date de naissance.
GoogleSQL
PostgreSQL
Supprimer des données
- 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. Dans la boîte de dialogue qui s'affiche, cliquez sur Confirmer.
La table "Singers" (Chanteurs) contient maintenant deux lignes:
GoogleSQL
PostgreSQL
Exécuter une requête
Sur la page Présentation de la base de données, cliquez sur Spanner Studio dans le menu de navigation.
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;
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
PostgreSQL
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
Dans la console Google Cloud, accédez à la page Instances Spanner.
Cliquez sur le nom de l'instance contenant la base de données que vous souhaitez supprimer, par exemple Instance de test.
Cliquez sur le nom de la base de données que vous souhaitez supprimer, par exemple example-db.
Sur la page Détails de la base de données, cliquez sur delete Supprimer la base de données.
Confirmez que vous souhaitez supprimer la base de données en saisissant son nom, puis en cliquant sur Supprimer.
Supprimer l'instance
Dans la console Google Cloud, accédez à la page Instances Spanner.
Cliquez sur le nom de l'instance que vous souhaitez supprimer, par exemple Instance de test.
Cliquez sur delete Supprimer l'instance.
Confirmez que vous souhaitez supprimer l'instance en saisissant son nom et en cliquant sur Supprimer.
Étape suivante
- Découvrez davantage d'informations sur les instances.
- Apprenez à mieux connaître le schéma et le modèle de données Spanner.
- En savoir plus sur le langage de définition de données (LDD) GoogleSQL
- Découvrez-en plus sur les plans d'exécution de requêtes.
- Découvrez comment utiliser Spanner avec C++, C#, Go, Java. Node.js, PHP, Python, Ruby, REST ou gcloud.