Panduan memulai Spanner CLI

Halaman ini memperkenalkan Spanner CLI dan menjelaskan cara menggunakannya.

Spanner CLI adalah antarmuka command line (CLI) yang memungkinkan Anda terhubung dan berinteraksi dengan database Spanner. API ini disertakan dalam Google Cloud CLI (gcloud CLI) untuk berinteraksi dengan Spanner. Anda dapat menggunakan Spanner CLI untuk menjalankan pernyataan GoogleSQL secara langsung di database Spanner. Pernyataan Anda dapat terdiri dari pernyataan bahasa definisi data (DDL), bahasa manipulasi data (DML), atau bahasa kueri data (DQL). Anda dapat menggunakan Spanner CLI untuk menjalankan skrip perintah SQL dan mengotomatiskan tugas.

Untuk mengetahui informasi selengkapnya, lihat daftar semua perintah gcloud alpha spanner cli yang didukung.

Manfaat utama

Manfaat utama Spanner CLI meliputi:

  • Menjalankan perintah SQL DDL, DML, dan DQL.
  • Anda dapat menulis dan menjalankan pernyataan SQL di beberapa baris.
  • Mendukung meta-perintah untuk membantu Anda dalam tugas sistem seperti mengeksekusi perintah shell sistem dan mengeksekusi SQL dari file.
  • Anda dapat mengotomatiskan eksekusi SQL dengan menulis serangkaian pernyataan SQL ke dalam file skrip, lalu memberi tahu Spanner CLI untuk menjalankan skrip. Selain itu, Anda dapat mengalihkan output ke file output.
  • Anda dapat memulai sesi Spanner CLI interaktif, yang memungkinkan Anda mengetik pernyataan SQL dan perintah meta secara langsung serta melihat hasilnya di CLI.

Sebelum memulai

Spanner CLI tersedia di gcloud CLI. Saat Anda menjalankan perintah gcloud alpha spanner cli untuk pertama kalinya, gcloud CLI akan otomatis menginstal komponen Spanner CLI.

Menggunakan Spanner CLI

  1. Siapkan Google Cloud project.

  2. Siapkan autentikasi menggunakan gcloud CLI.

  3. Buat instance.

  4. Buat database.

  5. Jalankan perintah berikut untuk memulai Spanner CLI dan berinteraksi dengan database Spanner Anda:

    gcloud alpha spanner cli DATABASE_ID --instance=INSTANCE_ID
    

    Ganti kode berikut:

    • DATABASE_ID: ID database Spanner. Ini adalah nama yang Anda gunakan di langkah Buat database sebelumnya. Anda dapat menggunakan perintah gcloud spanner databases list untuk mencantumkan database Spanner yang ada dalam instance tertentu.
    • INSTANCE_ID: ID instance Spanner. Ini adalah nama yang Anda gunakan di langkah Buat instance sebelumnya. Anda dapat menggunakan perintah gcloud spanner instances list untuk mencantumkan instance Spanner yang ada dalam project tertentu.

Menjalankan SQL

Anda dapat menjalankan pernyataan SQL di Spanner CLI menggunakan opsi execute atau menggunakan metode input dan output berbasis file. Pernyataan SQL Anda dapat terdiri dari DDL, DML, atau DQL.

Menggunakan flag execute

Untuk menggunakan flag execute guna menjalankan SQL, jalankan perintah gcloud alpha spanner cli berikut:

gcloud alpha spanner cli DATABASE_ID --instance INSTANCE_ID \
    --execute "SQL"

Ganti kode berikut:

  • DATABASE_ID: ID database Spanner yang ingin Anda hubungkan.
  • INSTANCE_ID: ID instance Spanner yang ingin Anda hubungkan.
  • SQL: SQL yang ingin Anda jalankan.

Misalnya, untuk menjalankan pernyataan DDL:

gcloud alpha spanner cli test-database --instance test-instance \
    --execute "CREATE TABLE Singers ( \
        SingerId   INT64 NOT NULL, \
        FirstName  STRING(1024), \
        LastName   STRING(1024), \
        SingerInfo STRING(1024), \
        BirthDate  DATE \
      ) PRIMARY KEY(SingerId);"

Untuk menjalankan pernyataan DML:

gcloud alpha spanner cli test-database --instance test-instance \
    --execute "INSERT INTO Singers (SingerId, FirstName, LastName, SingerInfo) \
        VALUES(1, 'Marc', 'Richards', 'nationality: USA'), \
              (2, 'Catalina', 'Smith', 'nationality: Brazil'), \
              (3, 'Andrew', 'Duneskipper', NULL);"

Menggunakan input dan output berbasis file

Jika Anda menggunakan metode input dan output berbasis file, Spanner membaca inputnya dari satu file dan menulis outputnya ke file lain. Untuk menggunakan metode input dan output berbasis file untuk menjalankan SQL, jalankan perintah berikut:

gcloud alpha spanner cli DATABASE_ID --instance INSTANCE_ID \
    --source INPUT_FILE_PATH --tee OUTPUT_FILE_PATH

Anda juga dapat menggunakan metode input dan output pengalihan berbasis file:

gcloud alpha spanner cli DATABASE_ID --instance INSTANCE_ID \
    < INPUT_FILE_PATH > OUTPUT_FILE_PATH

Ganti kode berikut:

  • DATABASE_ID: ID database Spanner yang ingin Anda hubungkan.
  • INSTANCE_ID: ID instance Spanner yang ingin Anda hubungkan.
  • SOURCE_FILE_PATH: file yang berisi SQL yang ingin Anda jalankan.
  • OUTPUT_FILE_PATH: file bernama untuk menambahkan salinan output SQL.

Mulai sesi interaktif

Anda dapat memulai sesi Spanner CLI interaktif, yang memungkinkan Anda mengetik pernyataan SQL dan meta-perintah secara langsung serta melihat hasilnya di CLI. Untuk melakukannya, jalankan perintah berikut:

gcloud alpha spanner cli DATABASE_ID --instance=INSTANCE_ID

Setelah berhasil terhubung antara CLI dan database, Anda akan melihat perintah (misalnya, spanner-cli>) tempat Anda dapat melakukan hal berikut:

Setelah menekan tombol ENTER, pernyataan atau perintah akan dikirim ke database Spanner yang sesuai. Spanner kemudian mengeksekusi pernyataan atau perintah.

Dalam contoh berikut, Anda memulai sesi interaktif di test-database lalu menjalankan SELECT 1;:

gcloud alpha spanner cli test-database --instance test-instance

Welcome to Spanner-Cli Client.
Type 'help;' or '\h' for help.
Type 'exit;' or 'quit;' or '\q' to exit.

spanner-cli> SELECT 1;
+---+
|   |
+---+
| 1 |
+---+

1 rows in set (1.11 msecs)

Menjalankan pernyataan DDL

Untuk menjalankan pernyataan DDL, Anda dapat menjalankan perintah berikut:

spanner-cli> CREATE TABLE Singers (
          ->         SingerId   INT64 NOT NULL,
          ->         FirstName  STRING(1024),
          ->         LastName   STRING(1024),
          ->         SingerInfo STRING(1024),
          ->         BirthDate  DATE
          -> ) PRIMARY KEY(SingerId);

Query OK, 0 rows affected (17.08 sec)

Menjalankan pernyataan DML

Untuk menjalankan pernyataan DML, Anda dapat menjalankan perintah berikut:

spanner-cli> INSERT INTO Singers (SingerId, FirstName, LastName, SingerInfo)
          -> VALUES(1, 'Marc', 'Richards', 'nationality: USA'),
          -> (2, 'Catalina', 'Smith', 'nationality: Brazil'),
          -> (3, 'Andrew', 'Duneskipper', NULL);

Query OK, 3 rows affected (0.32 sec)

Perintah meta yang didukung

Spanner CLI mendukung meta-perintah utilitas, yaitu perintah yang beroperasi pada klien, dalam hal ini Spanner CLI. Meta-perintah berikut didukung di Spanner CLI:

Perintah Sintaks Deskripsi
? \? Menampilkan informasi bantuan. Sama seperti \h.
Pembatas \d Menetapkan pembatas pernyataan. Pemisah defaultnya adalah titik koma.
Keluar \q Keluar dari Spanner CLI. Sama seperti keluar.
Go \g Mengirim dan menjalankan pernyataan SQL di Spanner.
Bantuan \h Menampilkan informasi bantuan. Sama seperti \?.
Catatan \t Menonaktifkan penulisan ke set file output yang ditetapkan oleh \T.
Perintah \R Mengubah perintah Anda menjadi string perintah pengguna.
Keluar \q Menutup Spanner CLI. Sama seperti keluar.
Sumber \. Mengeksekusi SQL dari file input. Menggunakan [filename] sebagai argumen.
Sistem \! Menjalankan perintah shell sistem.
Tee \T Menambahkan output perintah ke [nama file] tertentu bersama dengan output standar.
Gunakan \u Menghubungkan ke database lain. Menggunakan nama database baru sebagai argumen.

Langkah berikutnya