CodeEazy

Snowflake Logo

Snowflake Cheat Sheet

Connect to Snowflake

snowsql -a <account> -u <user> -p <password>

Basic SQL

SELECT * FROM MY_DB.MY_SCHEMA.MY_TABLE;
INSERT INTO MY_TABLE VALUES (1, 'Hello');
UPDATE MY_TABLE SET name = 'World' WHERE id = 1;

Warehouse & Database

CREATE OR REPLACE WAREHOUSE MY_WH;
CREATE OR REPLACE DATABASE MY_DB;
CREATE OR REPLACE SCHEMA MY_SCHEMA;

Stages and Files

CREATE OR REPLACE STAGE mystage;
PUT file://localfile.csv @mystage;
COPY INTO MY_TABLE FROM @mystage;

Time Travel

-- Recover dropped table
UNDROP TABLE my_table;

-- Query from 1 hour ago
SELECT * FROM my_table AT(OFFSET => -60*60);

Streams & Tasks

CREATE OR REPLACE STREAM my_stream ON TABLE my_table;

CREATE OR REPLACE TASK my_task
  WAREHOUSE = my_wh
  SCHEDULE = '5 MINUTE'
AS
  INSERT INTO archive_table SELECT * FROM my_stream;