Membuat dan melakukan kueri database di konsol Google Cloud

Panduan mulai cepat ini menunjukkan cara menggunakan konsol Google Cloud untuk membuat database di Spanner, memasukkan data, dan menjalankan kueri SQL.

Dalam panduan memulai ini, Anda akan:

  • Buat instance Spanner.
  • Membuat database.
  • Buat skema.
  • Menyisipkan dan memodifikasi data.
  • Jalankan kueri.

Untuk mengetahui informasi tentang biaya penggunaan Spanner, lihat Harga.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  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. Opsional: Spanner API akan diaktifkan secara otomatis. Jika tidak, aktifkan secara manual:

    Aktifkan Spanner API
  7. Untuk mendapatkan izin yang diperlukan guna membuat instance dan database, minta administrator Anda untuk memberi Anda peran IAM Cloud Spanner Admin (roles/spanner.admin) di project Anda.

Membuat instance dengan konsol Google Cloud

Saat pertama kali menggunakan Spanner, Anda harus membuat instance, yaitu alokasi resource yang digunakan oleh database Spanner dalam instance tersebut.

  1. Di konsol Google Cloud , buka halaman Spanner.

    Buka Spanner

  2. Pilih atau buat project Google Cloud jika Anda belum melakukannya.

  3. Di halaman Spanner, klik Create a provisioned instance.

    Jika Anda pernah menggunakan Spanner sebelumnya, Anda akan melihat halaman Instances Spanner, bukan halaman produk. Klik Create instance.

  4. Di halaman Name your instance, masukkan nama instance, seperti Test Instance.

  5. ID instance otomatis diisi berdasarkan nama instance, misalnya, sebagai test-instance. Ubah jika diperlukan. Klik Lanjutkan.

  6. Di halaman Configure your instance, pertahankan opsi default Regional dan pilih konfigurasi dari menu drop-down.

    Konfigurasi instance Anda menentukan lokasi geografis tempat instance Anda disimpan dan direplikasi.

  7. Klik Lanjutkan.

  8. Di halaman Allocate compute capacity, pilih Processing units (PUs) dan pertahankan nilai default 1.000 unit pemrosesan.

  9. Klik Create.

    Konsol Google Cloud menampilkan halaman Overview untuk instance yang Anda buat.

Buat database

  1. Di konsol Google Cloud , buka halaman Spanner Instances.

    Buka instance Spanner

  2. Klik instance yang Anda buat, misalnya Test Instance.

  3. Di halaman Overview instance yang terbuka, klik Create database.

  4. Untuk nama database, masukkan nama, seperti example-db.

  5. Pilih dialek database.

    Untuk mengetahui informasi tentang dukungan untuk PostgreSQL dan panduan untuk memilih dialek, lihat Antarmuka PostgreSQL. Jika memilih GoogleSQL, Anda akan menentukan skema di kolom teks Define your schema di bagian berikutnya dalam panduan memulai ini.

    Halaman pembuatan database Anda sekarang akan terlihat seperti ini:

    Jendela pembuatan database yang diperbarui.

  6. Klik Create.

    Konsol Google Cloud menampilkan halaman Overview untuk database yang Anda buat.

Membuat skema untuk database Anda

  1. Di menu navigasi, klik Spanner Studio.

  2. Di halaman Spanner Studio, klik Tab baru atau gunakan tab editor yang kosong.

  3. Enter:

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

    Konsol Google Cloud akan kembali ke halaman Overview database dan menunjukkan bahwa Schema updates sedang berlangsung. Setelah update selesai, halaman akan terlihat seperti ini:

    GoogleSQL

    Halaman ringkasan yang diperbarui.

    PostgreSQL

    Halaman ringkasan yang diperbarui.

    Perhatikan bahwa PostgreSQL mengonversi nama tabel menjadi huruf kecil.

Menyisipkan dan memodifikasi data

Konsol Google Cloud menyediakan antarmuka untuk menyisipkan, mengedit, dan menghapus data.

Masukkan data

  1. Dalam daftar tabel di halaman Ringkasan database, klik tabel Singers.

    Konsol Google Cloud menampilkan halaman Schema tabel Penyanyi.

  2. Di menu navigasi, klik Data untuk menampilkan halaman Data tabel Penyanyi.

  3. Klik Insert.

    Konsol Google Cloud menampilkan halaman Spanner Studio tabel Singers dengan tab kueri baru yang berisi pernyataan INSERT yang Anda edit untuk menyisipkan baris dalam tabel Singers dan melihat hasil penyisipan tersebut:

    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;
    

    Perhatikan bahwa PostgreSQL mengonversi nama kolom menjadi huruf kecil semua.

  4. Edit klausa VALUES pernyataan 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,
        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. Klik Jalankan.

    Spanner menjalankan pernyataan. Setelah selesai, tab Results menunjukkan bahwa pernyataan tersebut menyisipkan satu baris:

    GoogleSQL

    Data tabel Penyanyi yang diperbarui dengan satu baris.

    PostgreSQL

    Data tabel Penyanyi yang diperbarui dengan satu baris.

  6. Di Explorer, klik View actions di samping tabel Singers, lalu klik Insert data.

  7. Edit klausa VALUES pernyataan INSERT dan klausa WHERE pernyataan 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;
    
  8. Klik Run.

    Setelah Spanner menjalankan pernyataan, tab Hasil menunjukkan bahwa pernyataan tersebut menyisipkan satu baris.

  9. Di Explorer, klik View actions di samping tabel Singers, lalu klik Preview Data.

  10. Klik Run. Tabel Penyanyi sekarang memiliki dua baris:

    GoogleSQL

    Data tabel Penyanyi yang diperbarui dengan dua baris.

    PostgreSQL

    Data tabel Penyanyi yang diperbarui dengan dua baris.

Anda juga dapat memasukkan nilai string kosong saat memasukkan data.

  1. Klik Sisipkan untuk menambahkan baris.

    Spanner akan menampilkan halaman Spanner Studio tabel Penyanyi lagi dengan tab kueri baru yang berisi pernyataan INSERT dan SELECT yang sama.

  2. Edit klausul INSERTpernyataanVALUES dan klausul SELECTpernyataanWHERE:

    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;
    

    Perhatikan bahwa nilai yang diberikan untuk kolom nama belakang adalah string kosong, '', bukan nilai NULL.

  3. Klik Run.

    Setelah Spanner menjalankan pernyataan, tab Hasil menunjukkan bahwa pernyataan tersebut menyisipkan satu baris.

  4. Di Explorer, klik View actions di samping tabel Singers, lalu klik Preview Data.

  5. Klik Run. Tabel Singers sekarang memiliki tiga baris, dan baris dengan nilai kunci utama 3 memiliki string kosong di kolom LastName:

    GoogleSQL

    Data tabel Penyanyi yang diperbarui dengan tiga baris.

    PostgreSQL

    Data tabel Penyanyi yang diperbarui dengan tiga baris.

Edit data

  1. Di halaman Data tabel Penyanyi, centang kotak di baris dengan nilai kunci utama 3, lalu klik Edit.

    Spanner menampilkan halaman Spanner Studio dengan tab baru yang berisi pernyataan template UPDATE dan SET yang dapat Anda edit. Perhatikan bahwa klausa WHERE dari kedua pernyataan menunjukkan bahwa baris yang akan diperbarui adalah baris dengan nilai kunci utama 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. Edit klausa SET pernyataan UPDATE untuk memperbarui hanya tanggal lahir:

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

    Spanner menjalankan pernyataan. Setelah selesai, tab Results menunjukkan bahwa pernyataan pertama memperbarui satu baris.

  4. Di Explorer, klik View actions di samping tabel Singers, lalu klik Preview Data.

  5. Klik Run. Baris yang diperbarui kini memiliki nilai untuk tanggal lahir.

    GoogleSQL

    Data tabel Penyanyi yang diperbarui dengan baris yang diperbarui.

    PostgreSQL

    Data tabel Penyanyi yang diperbarui dengan baris yang diperbarui.

Menghapus data

  1. Di halaman Data tabel Penyanyi, centang kotak di baris dengan 2 di kolom pertama, lalu klik Hapus.
  2. Pada dialog yang muncul, klik Konfirmasi.

    Tabel Penyanyi sekarang memiliki dua baris:

    GoogleSQL

    Data tabel Penyanyi yang diperbarui dengan dua baris; baris untuk SingerId 2 sudah tidak ada.

    PostgreSQL

    Data tabel Penyanyi yang diperbarui dengan dua baris; baris untuk SingerId 2 sudah tidak ada.

Menjalankan kueri di konsol Google Cloud

  1. Di halaman Overview database, klik Spanner Studio di menu navigasi.

  2. Klik Tab baru untuk membuat tab kueri baru. Kemudian, masukkan kueri berikut di editor kueri:

    GoogleSQL

    SELECT * FROM Singers;
    

    PostgreSQL

    SELECT * FROM singers;
    
  3. Klik Run.

    Spanner menjalankan kueri. Setelah selesai, tab Hasil akan menampilkan hasil kueri Anda:

    GoogleSQL

    Hasil kueri.

    PostgreSQL

    Hasil kueri.

Selamat! Anda telah berhasil membuat database Spanner dan menjalankan pernyataan SQL menggunakan editor kueri.

Pembersihan

Untuk menghindari biaya tambahan pada akun Google Cloud Anda, hapus database dan instance. Menonaktifkan Cloud Billing API tidak akan menghentikan tagihan. Saat Anda menghapus instance, semua database di instance tersebut akan dihapus.

Menghapus database

  1. Di konsol Google Cloud , buka halaman Spanner Instances.

    Buka instance Spanner

  2. Klik nama instance yang memiliki database yang ingin Anda hapus, misalnya, Test Instance.

  3. Klik nama database yang ingin Anda hapus, misalnya, example-db.

  4. Di halaman Database details, klik Delete database.

  5. Konfirmasi bahwa Anda ingin menghapus database dengan memasukkan nama database dan mengklik Hapus.

Menghapus instance

  1. Di konsol Google Cloud , buka halaman Spanner Instances.

    Buka instance Spanner

  2. Klik nama instance yang ingin Anda hapus, misalnya, Test Instance.

  3. Klik Hapus instance.

  4. Konfirmasi bahwa Anda ingin menghapus instance dengan memasukkan nama instance dan mengklik Hapus.

Langkah berikutnya