In diesem Dokument werden die SQL-Shell-Befehle zusammengefasst, die von Spanner Omni unterstützt werden. Spanner Omni und Spanner unterstützen dieselben SQL-Shell-Befehle.
| Befehlssyntax | Beschreibung |
|---|---|
SHOW DATABASES;
|
Datenbanken auflisten. |
USE
|
Datenbank wechseln Die von Ihnen festgelegte Rolle wird für die detaillierte Zugriffssteuerung verwendet. |
CREATE DATABASE
|
Datenbank erstellen |
DROP DATABASE
|
Löschen Sie die Datenbank. |
SHOW TABLES [
|
Tabellen auflisten Wenn Sie kein Schema angeben, verwendet Spanner das Standardschema. |
SHOW CREATE TABLE
|
Tabellenschema anzeigen. |
SHOW COLUMNS FROM
|
Spalten einblenden |
SHOW INDEX FROM
|
Indexe anzeigen |
CREATE TABLE ...;
|
Tabelle erstellen. |
ALTER TABLE ...;
|
Ändern Sie das Tabellenschema. |
DROP TABLE ...;
|
Tabelle löschen |
TRUNCATE TABLE
|
Tabelle kürzen Löschen Sie nur Zeilen. Dieser Befehl ist nicht atomar, da er als partitionierte DML-Anweisung ausgeführt wird. |
CREATE INDEX ...;
|
Index erstellen |
DROP INDEX ...;
|
Index löschen. |
CREATE ROLE ...;
|
Rolle erstellen Weitere Informationen finden Sie in der IAM-Übersicht für Spanner. |
DROP ROLE ...;
|
Rolle löschen |
GRANT ...;
|
Einer Rolle eine Berechtigung zuweisen |
REVOKE ...;
|
Berechtigung für eine Rolle widerrufen |
SELECT ...;
|
Abfrage ausführen |
{ INSERT|UPDATE|DELETE } ...;
|
Führen Sie eine DML-Anweisung aus. |
PARTITIONED { UPDATE|DELETE } ...;
|
Eine partitionierte DML-Anweisung ausführen Dieser Befehl ist nicht atomar. |
EXPLAIN SELECT ...;
|
Einen Abfrageausführungsplan anzeigen. Weitere Informationen finden Sie unter Abfrage-Ausführungspläne. |
EXPLAIN {INSERT|UPDATE|DELETE} ...;
|
DML-Ausführungsplan anzeigen |
EXPLAIN ANALYZE SELECT ...;
|
Zeigt den Abfrageausführungsplan mit Optimierungsstatistiken an. Weitere Informationen finden Sie unter Optimizer-Statistikpakete. |
EXPLAIN ANALYZE {INSERT|UPDATE|DELETE} ...;
|
Zeigt den DML-Ausführungsplan mit Statistiken des Optimierungstools an. Weitere Informationen finden Sie unter Optimizer-Statistikpakete. |
DESCRIBE SELECT ...;
|
Form des Abfrageergebnisses anzeigen. |
DESCRIBE {INSERT|UPDATE|DELETE} ... THEN RETURN ...;
|
Form des DML-Ergebnisses anzeigen. |
ANALYZE;
|
Beginnt mit der Erstellung eines neuen Statistikpakets für das Abfrageoptimierungstool. |
START BATCH DDL;
|
Starten Sie einen DDL-Batch. |
RUN BATCH;
|
Batchbefehle ausführen |
ABORT BATCH;
|
Batchbefehle abbrechen |
BEGIN [RW] [ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}]
[PRIORITY {HIGH|MEDIUM|LOW}] [TAG
|
Starten Sie eine Lese-Schreib-Transaktion. Weitere Informationen finden Sie unter Transaktionsbefehle. |
COMMIT;
|
Führen Sie ein Commit einer Lese-Schreib-Transaktion durch. |
ROLLBACK;
|
Rollback (Rückgängigmachen) einer Lese-Schreib-Transaktion |
BEGIN RO [{
|
Starten Sie eine schreibgeschützte Transaktion. seconds und RFC 3339-formatted_time werden für veraltete Lesevorgänge verwendet. Weitere Informationen finden Sie unter Transaktionsbefehle. |
CLOSE;
|
Schreibgeschützte Transaktion beenden |
EXIT;
|
Schließen Sie Spanner Omni. |
BATCH-Befehle
Mit Spanner Omni können Sie DDL-Vorgänge im Batchmodus ausführen. Dabei werden mehrere DDL-Anweisungen in einem einzigen Vorgang gruppiert, was Schemaänderungen beschleunigt. Spanner Omni unterstützt die folgenden BATCH-Befehle:
START BATCH DDL;
Mit diesem Befehl wird ein DDL-Batch initiiert. Alle nachfolgenden DDL-Anweisungen (z. B. CREATE TABLE, ALTER TABLE, DROP INDEX), die Sie in dieser Sitzung ausführen, bleiben im Status „Ausstehend“ und werden nicht sofort auf die Datenbank angewendet.
RUN BATCH;
Nachdem Sie START BATCH DDL und die nachfolgenden DDL-Anweisungen ausgeführt haben, verwenden Sie den Befehl RUN
BATCH, um alle ausstehenden DDL-Vorgänge als einzelne Anfrage an Spanner zu senden. Dieser Befehl reduziert den Overhead, der mit einzelnen DDL-Anweisungen verbunden ist, was zu schnelleren Schemaänderungen führt.
ABORT BATCH;
Wenn Sie die ausstehenden DDL-Änderungen nicht anwenden möchten, verwenden Sie den Befehl ABORT BATCH. Mit diesem Befehl werden alle DDL-Anweisungen verworfen, die seit dem Ausführen des Befehls START BATCH DDL erfasst wurden. Dadurch wird der Batch effektiv zurückgesetzt und das Datenbankschema bleibt unverändert.
Transaktionsbefehle
Spanner Omni unterstützt die folgenden SQL-Befehle für Transaktionen:
BEGIN [TRANSACTION] [RO] [seconds|RFC 3339-formatted_time ]
[ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}]
[PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name];
Starten Sie eine Transaktion. Sie können folgende Optionen konfigurieren:
- Transaktionstyp: Starten Sie eine Lese-/Schreibtransaktion (kein Parameter erforderlich) oder eine schreibgeschützte Transaktion (
RO). - Zeit für veraltete Lesevorgänge: Legen Sie die Zeit in Sekunden oder im RFC 3339-Format fest, um Daten ab einem bestimmten Zeitstempel zu lesen.
- Isolationsebene: Legen Sie die Isolationsebene für Lese-/Schreibtransaktionen fest. Standardmäßig wird die serialisierbare Isolation verwendet. Weitere Informationen finden Sie unter Isolationsebenen – Übersicht.
- Priorität: Legen Sie die Anfragepriorität für die Transaktion fest. Die mittlere Priorität ist standardmäßig festgelegt.
Tag: Legen Sie Transaktionstags mit dem Befehl
BEGINfest.- Fügen Sie in einer Lese-/Schreibtransaktion ein Tag mit
BEGIN TAG taghinzu. Spanner Omni fügt das Tag als Transaktions-Tag hinzu. Das Tag wird auch als Anfrage-Tag innerhalb der Transaktion verwendet. - Fügen Sie in einer schreibgeschützten Transaktion ein Tag mit
BEGIN RO TAG taghinzu. Da schreibgeschützte Transaktionen keine Transaktions-Tags unterstützen, fügt Spanner das Tag als Anfrage-Tag hinzu.
- Fügen Sie in einer Lese-/Schreibtransaktion ein Tag mit
COMMIT;
Schließen Sie alle Änderungen in einer Lese-/Schreibtransaktion ab und machen Sie sie dauerhaft.
CLOSE;
Schließen Sie eine schreibgeschützte Transaktion.
ROLLBACK;
Rollback (Rückgängigmachen) einer Lese-Schreib-Transaktion