Execute SQLRun one SQL statement and wait for its result. Use '?' placeholders and supply the values separately so quotes in the data cannot change the statement. What the statement may touch is decided by the connected role's privileges.
Execute SQL asynchronouslySubmit a statement without waiting for it, and get back a handle. Use for long jobs that would outlast a step: read the result later with 'Get statement result'.
Get statement resultRead a submitted statement's status and results by handle. 'running' is true while it is still executing. A large result comes back in partitions: read the next with 'next_partition'.
Cancel statementStop a statement that is still running, by handle. A statement that has already finished cannot be cancelled.
Query table rowsRead rows from one table without writing SQL: pick the columns, filter, sort and limit. A limit is always applied, so a mistyped filter cannot pull a whole warehouse-sized table into the step.
Insert rowAdd one row to a table. The values are sent as bound parameters, so text containing quotes is stored as data rather than changing the statement.
Update rowsChange columns on the rows matching a condition. The condition is required: without one every row in the table would be rewritten.
Delete rowsRemove the rows matching a condition. The condition is required: without one the table would be emptied.
Create tableCreate a table from a column definition list such as 'ID NUMBER, NAME TEXT, CREATED_AT TIMESTAMP_NTZ'. By default an existing table of that name is left alone.
Drop tableDelete a table and everything in it. Does nothing if the table is not there.
Describe tableThe columns of a table: name, type, nullability, default and whether each is part of the primary key.
List objectsList the databases, schemas, tables, views, warehouses, roles, tasks, stages, file formats, sequences, functions or procedures the connected role can see. This is how to find a table name the other actions take.
Create databaseCreate a database, leaving an existing one of that name alone. Needs a role that may create databases, such as SYSADMIN.
Drop databaseDelete a database and everything in it. Does nothing if it is not there.
Resume or suspend warehouseStart a warehouse before a heavy job, or stop one to stop it burning credits. Running the step again when it is already in that state does nothing rather than failing.
Get current contextWho the connection is acting as: current user, role, warehouse, database, schema, account, region and Snowflake version. The quickest way to confirm a connection works.
List query historyRecent queries this account has run, newest first, with who ran each, how long it took, how many rows it produced and any error. Useful for spotting a failing or slow job.
List warehouse credit usageCredits each warehouse has burned over a recent window, split into compute and cloud services. This is what a Snowflake bill is made of.
List tasksThe scheduled tasks in a database or schema, each with its schedule, state and the SQL it runs.
Run task nowRun a scheduled task once, immediately, without waiting for its schedule. The task must be resumed for this to work.