Zusammenfassung der Befehle

Snowflake unterstützt die meisten der in SQL:1999 definierten Befehle und Anweisungen.

Unter diesem Thema:

Befehle der DDL (Datendefinitionssprache)

Konto- und sitzungsbasierte DDL

Befehle

Anmerkungen

ALTER ACCOUNT

Wird verwendet, um Parameter auf Kontoebene festzulegen (nur von Benutzern mit ACCOUNTADMIN-Rolle).

ALTER SESSION

Wird verwendet, um Parameter in der aktuellen Sitzung festzulegen.

SHOW FUNCTIONS

Zeigt systemdefinierte Funktionen und benutzerdefinierte Funktionen einschließlich externer Funktionen an.

SHOW PARAMETERS

Wird verwendet, um die Parametereinstellungen für das Konto oder die aktuelle Sitzung anzuzeigen. Kann auch zum Anzeigen von Parametereinstellungen für Objekte mit Parametern verwendet werden.

SHOW VARIABLES

Wird verwendet, um SQL-Variablen in der aktuellen Sitzung anzuzeigen.

SET , UNSET

Wird verwendet, um SQL-Variablen in der aktuellen Sitzung festzulegen und aufzuheben.

USE { DATABASE | ROLE | SCHEMA | WAREHOUSE }

Der Befehl USE legt die Datenbank, Rolle, das Schema oder das Warehouse für die aktuelle Sitzung fest.

DDL für Organisationsobjekte

Befehle

Anmerkungen

{ CREATE | DROP | UNDROP } ACCOUNT

Wird von Benutzern mit der Rolle ORGADMIN ausgeführt. ALTER ACCOUNT wird verwendet, um Parameter auf Kontoebene festzulegen, und wird von einem Benutzer mit der Rolle ACCOUNTADMIN ausgeführt.

DDL für Kontoobjekte

Befehle

Anmerkungen

{ ALTER | CREATE | DESC | DROP } APPLICATION

{ ALTER | CREATE | DROP } APPLICATION PACKAGE

{ ALTER | CREATE | DROP } CONNECTION

{ ALTER | CREATE | DESC | DROP | UNDROP | USE } DATABASE

CREATE unterstützt auch das Klonen bestehender Datenbanken.

{ ALTER | CREATE | DESC | DROP } EXTERNAL VOLUME

{ ALTER | CREATE } { API | EXTERNAL ACCESS | NOTIFICATION | SECURITY | STORAGE } INTEGRATION

{ CREATE } CATALOG INTEGRATION

ALTER wird für Katalogintegrationen nicht unterstützt.

{ DESC | DROP } [ API | CATALOG | EXTERNAL ACCESS | NOTIFICATION | SECURITY | STORAGE ] INTEGRATION

{ ALTER | CREATE | DESC | DROP } NETWORK POLICY

{ ALTER | CREATE | DESC | DROP } RESOURCE MONITOR

{ ALTER | CREATE | DESC | DROP | USE } ROLE

{ ALTER | CREATE | DESC | DROP } SHARE

{ ALTER | CREATE | DESC | DROP } USER

{ ALTER | CREATE | DESC | DROP | USE } WAREHOUSE

COMMENT

Dieser Befehl kann mit jedem beliebigen Kontoobjekt verwendet werden. Kommentare können auch mit CREATE oder ALTER festgelegt werden.

{ GRANT | REVOKE } PRIVILEGE

Berechtigungen sind nicht zwingend ein First-Class-Objekt, aber diese Befehle werden verwendet, um die Zugriffssteuerung für alle First-Class-Objekte in Snowflake zu aktivieren und zu verwalten.

SHOW { APPLICATION PACKAGES | APPLICATIONS | DATABASES | EXTERNAL VOLUMES | [ API | CATALOG | EXTERNAL ACCESS | NOTIFICATION | SECURITY | STORAGE ] INTEGRATIONS | NETWORK POLICIES | PRIVILEGES | RESOURCE MONITORS | ROLES | SHARES | USERS | WAREHOUSES }

DDL für Datenbank- und Schemaobjekte

Befehle

Anmerkungen

{ ALTER | CREATE | DESC | DROP } ALERT

Wird zum Erstellen von Snowflake Alerts verwendet.

{ ALTER | CREATE | DESC | DROP } EVENT TABLE

Wird zum Erstellen und Verwalten von Ereignistabellen verwendet.

CREATE EXTERNAL FUNCTION

Wird zum Erstellen externer Funktionen verwendet.

{ ALTER | CREATE | DESC | DROP } FILE FORMAT

CREATE unterstützt auch das Klonen bestehender Dateiformate.

{ ALTER | CREATE | DESC | DROP } FUNCTION

Wird zum Erstellen von UDFs (benutzerdefinierte Funktionen) und zur Verwaltung von UDFs und externen Funktionen verwendet.

{ ALTER | CREATE | DESC | DROP } ICEBERG TABLE

Wird zum Erstellen und Verwalten von Iceberg-Tabellen verwendet.

{ ALTER | CREATE | DESC | DROP } MASKING POLICY

Wird zum Erstellen und Verwalten von Maskierungsrichtlinien verwendet.

{ ALTER | CREATE | DESC | DROP | UNDROP } MATERIALIZED VIEW

Wird zum Erstellen und Verwalten von materialisierten Ansichten verwendet.

{ ALTER | CREATE | DESC | DROP } NETWORK RULE

{ ALTER | CREATE | DESC | DROP } PACKAGES POLICY

Wird zum Erstellen und Verwalten von Paketrichtlinien verwendet.

{ ALTER | CREATE | DESC | DROP } PASSWORD POLICY

Wird zum Erstellen und Verwalten von Kennwortrichtlinien verwendet.

{ ALTER | CREATE | DESC | DROP } PIPE

{ ALTER | CREATE | DESC | DROP } PROCEDURE

Wird zum Erstellen und Verwalten von gespeicherten Prozeduren verwendet.

{ ALTER | CREATE | DESC | DROP } ROW ACCESS POLICY

Wird zum Erstellen und Verwalten von Zeilenzugriffsrichtlinien verwendet.

{ ALTER | CREATE | DESC | DROP } SECRET

Wird zum Erstellen und Verwalten von Geheimnissen verwendet.

{ ALTER | CREATE | DESC | DROP } SEQUENCE

CREATE unterstützt auch das Klonen bestehender Sequenzen.

{ ALTER | CREATE | DESC | DROP } SESSION POLICY

Wird zum Erstellen und Verwalten von Sitzungsrichtlinien verwendet.

{ ALTER | CREATE | DESC | DROP } STAGE

CREATE unterstützt auch das Klonen bestehender benannter Stagingbereiche (nur extern).

{ ALTER | CREATE | DESC | DROP } STREAM

CREATE unterstützt auch das Klonen von bestehenden benannten Streams.

{ ALTER | CREATE | DESC | DROP | UNDROP | USE } SCHEMA

CREATE unterstützt auch das Klonen vorhandener Schemas.

{ ALTER | CREATE | DESC | DROP | TRUNCATE | UNDROP } TABLE

CREATE unterstützt auch das Klonen bestehender Tabellen, das Erstellen von ausgefüllten Tabellen (mit CTAS) und das Erstellen leerer Tabellen (aus bestehenden Tabellen).

{ ALTER | CREATE | DROP | UNDROP } TAG

DESCRIBE wird für das Tag-Objekt nicht unterstützt.

{ ALTER | CREATE | DESC | DROP } TASK

{ ALTER | CREATE | DESC | DROP | UNDROP } VIEW

COMMENT

Dieser Befehl kann mit jedem Datenbank-/Schemaobjekt verwendet werden. Außerdem können Kommentare mit CREATE oder ALTER festgelegt werden.

SHOW { ALERTS | EVENT TABLES | EXTERNAL FUNCTIONS | FILE FORMATS | ICEBERG TABLES | MASKING POLICIES | MATERIALIZED VIEWS | NETWORK RULES | PACKAGES POLICIES | PASSWORD POLICIES | PIPES | PROCEDURES | ROW ACCESS POLICIES | SCHEMAS | SECRETS | SEQUENCES | SESSION POLICIES | STAGES | STREAMS | TABLES | TAGS | TASKS | USER FUNCTIONS | VIEWS }

Befehle der DML (Datenbearbeitungssprache)

Befehle

Anmerkungen

DELETE , INSERT , MERGE , REPLACE , UPDATE

Werden für allgemeine DML verwendet. INSERT beinhaltet die Unterstützung für das Einfügen in mehrere Tabellen.

COPY INTO { <Tabelle> | <Speicherort> }

Wird zum Laden/Entladen von Daten verwendet (d. h. Massenimport/-export).

GET , LIST , PUT , REMOVE

Diese Befehle führen keine DML aus. Sie werden verwendet, um Dateien zum Laden und Entladen von Daten bereitzustellen und zu verwalten.

Abfragesyntax und Operatoren

Kategorie

Konstrukte/Operatoren

Anmerkungen

Abfragesyntax

[ WITH ]

SELECT [ DISTINCT ]

Erforderlich.

[ INTO ]

Zum Festlegen von Snowflake Scripting-Variablen auf Werte in Ergebnisspalten.

[ FROM ]

[ AT | BEFORE ]

Zum Abfragen mit Time Travel.

[ CHANGES ]

Zum Abfragen der Änderungsverfolgungs-Metadaten einer Tabelle.

[ CONNECT BY ]

Zum Verknüpfen einer Tabelle mit sich selbst, um hierarchische Daten in der Tabelle zu verarbeiten.

[ JOIN ]

Unterstützung von inneren, linken äußeren, rechten äußeren und vollständigen Verknüpfungen (Joins).

[ MATCH_RECOGNIZE ]

Zum Auffinden von Sequenzen von Zeilen, die mit einem Muster übereinstimmen.

[ PIVOT | UNPIVOT ]
[ VALUES ]
[ SAMPLE ] / [ TABLESAMPLE ]

TABLESAMPLE ist ein Synonym für SAMPLE.

[ WHERE ]

[ GROUP BY ]

Spalten, die in GROUP BY verwendet werden, müssen in der SELECT-Liste stehen.

[ HAVING ]

[ ORDER BY ]

[ LIMIT ]

Arithmetische Operatoren

+ , - , * , \ , %

Vergleichsoperatoren

=, !=, < >, >, >=, <, <=

Logische/Boolesche Operatoren

AND , NOT , OR

Mengenoperatoren

INTERSECT [ ALL ] , MINUS [ ALL ] / EXCEPT , UNION [ ALL ]

Operatoren für Unterabfragen

ANY / ALL , [ NOT ] EXISTS , [ NOT ] IN

Prädikate

BETWEEN , [ NOT ] EXISTS , [ NOT ] IN , LIKE

TCL (Transaction Control Language)-Befehle

Befehle

Anmerkungen

BEGIN , COMMIT , ROLLBACK

Wird für Transaktionen mit mehreren Anweisungen in der aktuellen Sitzung verwendet.

DESC TRANSACTIONS

SHOW { LOCKS | TRANSACTIONS }