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. Fitur 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 pengolahan data (DML), atau bahasa kueri data (DQL). Anda dapat menggunakan Spanner CLI untuk menjalankan skrip perintah SQL dan mengotomatiskan tugas.
Alat ini didasarkan pada project spanner-cli open source.
Untuk mengetahui informasi selengkapnya, lihat daftar semua perintah
gcloud spanner cli yang didukung.
Manfaat utama
Anda dapat menggunakan Spanner untuk melakukan tindakan berikut:
- Jalankan perintah SQL DDL, DML, dan DQL.
- Menulis dan menjalankan pernyataan SQL di beberapa baris.
- Gunakan meta-perintah untuk membantu tugas sistem seperti menjalankan perintah shell sistem dan menjalankan SQL dari file.
- Mengotomatiskan eksekusi SQL dengan menulis serangkaian pernyataan SQL ke dalam file skrip, lalu menginstruksikan Spanner CLI untuk menjalankan skrip. Selain itu, Anda dapat mengalihkan output ke file output.
- Mulai sesi Spanner CLI interaktif, yang memungkinkan Anda mengetik pernyataan SQL dan meta-perintah secara langsung serta melihat hasilnya di CLI.
Sebelum memulai
Sebelum menggunakan Spanner CLI, pastikan Anda memiliki peran yang diperlukan dan telah menginstal CLI.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk menginstal Spanner, minta administrator untuk memberi Anda peran IAM Cloud Spanner Admin (roles/spanner.admin) di Spanner.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Instal Spanner CLI
Spanner CLI tersedia di gcloud CLI. Saat Anda menjalankan
perintah gcloud spanner cli untuk pertama kalinya, gcloud CLI
akan otomatis menginstal komponen Spanner CLI.
Untuk menginstal Spanner CLI secara manual, jalankan perintah berikut:
gcloud components install spanner-cli
Jika penginstalan menggunakan perintah Google Cloud CLI tidak berhasil atau tidak layak di lingkungan shell Anda, Spanner menyediakan paket Debian (.deb) dan RPM (.rpm) mandiri. Anda dapat menggunakan paket ini untuk menginstal secara manual di sistem yang kompatibel. Untuk menginstal, jalankan perintah berikut:
apt-get install google-cloud-cli-spanner-cli
Opsi konfigurasi
Spanner CLI mendukung opsi yang dapat dikonfigurasi berikut:
- Opsi project diambil melalui properti
core/project; atau, Anda dapat menentukan project menggunakan opsi--project. - Opsi instance diambil melalui properti
core/instance; atau, Anda dapat menentukan instance menggunakan opsi--instance. - Endpoint API diambil melalui properti
api_endpoint_overrides/spanner; atau, Anda dapat menentukan endpoint menggunakan opsi--hostdan--port. Endpoint Spanner default akan digunakan jika tidak ada endpoint yang ditentukan.
Menggunakan Spanner CLI
Jalankan perintah berikut untuk memulai Spanner CLI dan berinteraksi dengan database Spanner Anda:
gcloud spanner cli DATABASE_ID --instance=INSTANCE_IDGanti kode berikut:
DATABASE_ID: ID database Spanner. Ini adalah nama yang Anda gunakan di langkah Buat database sebelumnya. Anda dapat menggunakan perintahgcloud spanner databases listuntuk 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 perintahgcloud spanner instances listuntuk 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 spanner cli berikut:
gcloud 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 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 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 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 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.
Memulai 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 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:
- Ketik pernyataan GoogleSQL secara langsung:
- Menjalankan transaksi
- Menggunakan meta-perintah yang didukung
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 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)
Jalankan pernyataan DML yang dipartisi
Di Spanner CLI, Anda dapat menggunakan kata kunci PARTITIONED dengan perintah UPDATE
dan DELETE untuk menjalankan pernyataan DML berpartisi
skala besar yang efisien. Saat menemukan PARTITIONED UPDATE atau
PARTITIONED DELETE, Spanner CLI akan mengenalinya sebagai operasi DML yang dipartisi. Kata kunci ini berguna untuk operasi yang memengaruhi sebagian besar tabel tanpa mengunci seluruh tabel dalam jangka waktu yang lama. Spanner
tidak menerapkan pernyataan DML berpartisi secara atomik di seluruh tabel.
Pernyataan DML berpartisi diterapkan secara atomik di setiap partisi.
Untuk menjalankan pernyataan DML berpartisi, Anda dapat menjalankan perintah berikut:
-- Update all rows in the 'Products' table by multiplying the price by 2
spanner-cli> PARTITIONED UPDATE Products SET Price = Price * 2 WHERE Price > 100;
-- Delete all rows in the 'Products' table with price less than 500
spanner-cli> PARTITIONED DELETE FROM Products WHERE Price < 500;
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 | Sintaksis | 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. |
Perintah tambahan yang didukung
CLI Spanner mendukung perintah tambahan. Untuk mengetahui informasi selengkapnya, lihat perintah Spanner CLI.
Mendapatkan dukungan
Untuk melaporkan masalah terkait Spanner CLI, buat masalah baru.
Langkah berikutnya
- Lihat daftar semua perintah Spanner CLI yang didukung.
- Lihat daftar semua perintah
gcloud spanner cliyang didukung.