In diesem Dokument werden die von Spanner Omni unterstützten SQL-Shell-Befehle zusammengefasst. 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 ...;
|
Tabellenschema ändern |
DROP TABLE ...;
|
Tabelle löschen |
TRUNCATE TABLE
|
Tabelle kürzen Nur Zeilen löschen. 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 gewähren |
REVOKE ...;
|
Berechtigung für eine Rolle widerrufen |
SELECT ...;
|
Abfrage ausführen |
{ INSERT|UPDATE|DELETE } ...;
|
Führen Sie eine DML-Anweisung aus. |
PARTITIONED { UPDATE|DELETE } ...;
|
Führen Sie eine partitionierte DML-Anweisung aus. Dieser Befehl ist nicht atomar. |
EXPLAIN SELECT ...;
|
Einen Abfrageausführungsplan anzeigen Weitere Informationen finden Sie unter Abfrageausführungspläne. |
EXPLAIN {INSERT|UPDATE|DELETE} ...;
|
Zeige den DML-Ausführungsplan. |
EXPLAIN ANALYZE SELECT ...;
|
Abfrageausführungsplan mit Optimiererstatistiken anzeigen Weitere Informationen finden Sie unter Optimizer-Statistikpakete. |
EXPLAIN ANALYZE {INSERT|UPDATE|DELETE} ...;
|
Zeigen Sie den DML-Ausführungsplan mit Optimiererstatistiken 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;
|
Starten Sie die Erstellung eines neuen Statistikpakets für den Query-Optimierer. |
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-/Schreibtransaktion durch. |
ROLLBACK;
|
Rollback (Rückgängigmachen) einer Lese-/Schreibtransaktion |
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. Der 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. Mit diesem Befehl wird der Overhead für einzelne DDL-Anweisungen reduziert, 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 Priorität „Mittel“ ist standardmäßig festgelegt.
Tag: Legen Sie Transaktions-Tags mit dem Befehl
BEGINfest.- Fügen Sie in einer Lese-/Schreibtransaktion mit
BEGIN TAG tagein Tag hinzu. 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 mit
COMMIT;
Alle Änderungen in einer Lese-/Schreibtransaktion abschließen und dauerhaft machen.
CLOSE;
Schließen Sie eine schreibgeschützte Transaktion.
ROLLBACK;
Rollback (Rückgängigmachen) einer Lese-/Schreibtransaktion