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;