本頁面會列出 Spanner CLI 支援的指令。
| 指令語法 | 說明 |
|---|---|
SHOW DATABASES;
|
列出資料庫。 |
USE
|
切換資料庫。您設定的角色會用於精細的存取權控管機制。 |
CREATE DATABASE
|
建立資料庫。 |
DROP DATABASE
|
刪除資料庫。 |
SHOW TABLES [
|
列出資料表。如果未提供結構定義,Spanner 會使用預設結構定義。 |
SHOW CREATE TABLE
|
顯示資料表結構定義。 |
SHOW COLUMNS FROM
|
顯示資料欄。 |
SHOW INDEX FROM
|
顯示索引。 |
CREATE TABLE ...;
|
建立資料表。 |
ALTER TABLE ...;
|
變更資料表結構定義。 |
DROP TABLE ...;
|
刪除資料表。 |
TRUNCATE TABLE
|
截斷資料表。只能刪除資料列。這個指令會以分區 DML 陳述式的形式執行,因此不具原子性。 |
CREATE INDEX ...;
|
建立索引。 |
DROP INDEX ...;
|
刪除索引。 |
CREATE ROLE ...;
|
建立角色。詳情請參閱 Spanner IAM 總覽。 |
DROP ROLE ...;
|
刪除角色。 |
GRANT ...;
|
將權限授予角色。 |
REVOKE ...;
|
撤銷角色的權限。 |
SELECT ...;
|
執行查詢。 |
{ INSERT|UPDATE|DELETE } ...;
|
執行 DML 陳述式。 |
PARTITIONED { UPDATE|DELETE } ...;
|
執行分區 DML 陳述式。這個指令並非不可分割。 |
EXPLAIN SELECT ...;
|
顯示查詢執行計畫。詳情請參閱「查詢執行計畫」。 |
EXPLAIN {INSERT|UPDATE|DELETE} ...;
|
顯示 DML 執行計畫。 |
EXPLAIN ANALYZE SELECT ...;
|
顯示查詢執行計畫和最佳化工具統計資料。詳情請參閱「最佳化工具統計資料套件」。 |
EXPLAIN ANALYZE {INSERT|UPDATE|DELETE} ...;
|
顯示 DML 執行計畫和最佳化工具統計資料。詳情請參閱「最佳化工具統計資料套件」。 |
DESCRIBE SELECT ...;
|
顯示查詢結果形狀。 |
DESCRIBE {INSERT|UPDATE|DELETE} ... THEN RETURN ...;
|
Show DML result shape. |
ANALYZE;
|
開始建構新的查詢最佳化工具統計資料套件。 |
START BATCH DDL;
|
啟動 DDL 批次。 |
RUN BATCH;
|
執行批次指令。 |
ABORT BATCH;
|
中止批次指令。 |
BEGIN [RW] [ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}]
[PRIORITY {HIGH|MEDIUM|LOW}] [TAG
|
開始讀寫交易。詳情請參閱「交易指令」。 |
COMMIT;
|
提交讀寫交易。 |
ROLLBACK;
|
復原 (還原) 讀寫交易。 |
BEGIN RO [{
|
開始唯讀交易。seconds 和 RFC 3339-formatted_time 用於過時讀取作業。詳情請參閱「交易指令」。 |
CLOSE;
|
結束唯讀交易。 |
EXIT;
|
結束 Spanner CLI。 |
BATCH 指令
您可以使用 Spanner CLI 以批次模式執行 DDL 作業,將多個 DDL 陳述式分組為單一作業,加快結構定義變更速度。Spanner CLI 支援下列 BATCH 指令:
START BATCH DDL;
這個指令會啟動 DDL 批次。您在這個工作階段中執行的所有後續 DDL 陳述式 (例如 CREATE TABLE、ALTER TABLE、DROP INDEX) 都會維持待處理狀態,不會立即套用至資料庫。
RUN BATCH;
執行 START BATCH DDL 和後續的 DDL 陳述式後,請使用 RUN
BATCH 指令,將所有待處理的 DDL 作業以單一要求傳送至 Spanner。這項指令可減少與個別 DDL 陳述式相關的間接費用,進而加快結構定義修改速度。
ABORT BATCH;
如果您決定不套用待處理的 DDL 變更,請使用 ABORT BATCH
指令。這個指令會捨棄自您發出 START BATCH DDL 指令以來收集的所有 DDL 陳述式,有效回溯批次作業,並讓資料庫結構定義維持不變。
交易指令
Spanner CLI 支援下列交易 SQL 指令:
BEGIN [TRANSACTION] [RO] [seconds|RFC 3339-formatted_time ]
[ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}]
[PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name];
啟動交易。您可以設定下列選項:
- 交易類型:開始讀寫 (不需參數) 或唯讀 (
RO) 交易。 - 過時讀取時間:以秒為單位或採用 RFC 3339 格式設定時間,從特定時間戳記讀取資料。
- 隔離等級:設定讀寫交易的隔離等級。系統預設會使用可序列化隔離。詳情請參閱隔離等級總覽。
- 優先順序:設定交易的請求優先順序。系統預設會設為中等優先順序。
代碼:使用
BEGIN指令設定交易代碼。- 在讀寫交易中,使用
BEGIN TAG tag新增標記。 Spanner CLI 會將標記新增為交易標記。此標記也會在交易中做為要求標記使用。 - 在唯讀交易中,新增含有
BEGIN RO TAG tag的標記。 由於唯讀交易不支援交易標記,Spanner 會將標記新增為要求標記。
- 在讀寫交易中,使用
COMMIT;
在讀寫交易中完成並永久套用所有變更。
CLOSE;
關閉唯讀交易。
ROLLBACK;
復原 (還原) 讀寫交易。
後續步驟
- 進一步瞭解 Spanner CLI。