How to Add a Column in Snowflake (ALTER TABLE)
Last updated August 26, 2026 · By the SaturnSQL team
Use ALTER TABLE ... ADD COLUMN with the column name and type. Existing rows get NULL (or the DEFAULT you specify). You can add several columns in one statement.
ALTER TABLE orders ADD COLUMN discount NUMBER(5,2);With a default, or several at once
A constant DEFAULT applies to existing and new rows. Separate multiple columns with commas.
ALTER TABLE orders ADD COLUMN
status VARCHAR DEFAULT 'pending',
updated_at TIMESTAMP_NTZ;Adding a column is metadata-only
ALTER TABLE ADD COLUMN returns immediately whatever the size of the table, because Snowflake records the new column in metadata rather than rewriting micro-partitions. Existing rows read back NULL for it until something writes them. This is why the usual OLTP advice about adding columns to large tables does not apply here.
ALTER TABLE orders ADD COLUMN status VARCHAR;A DEFAULT does not backfill existing rows
The default applies to rows inserted afterwards. Rows that were already there stay NULL, which is the gap people find later in a report. Backfill explicitly if you need every row populated, and remember that the UPDATE is a real rewrite of the affected micro-partitions, unlike the ADD COLUMN itself.
ALTER TABLE orders ADD COLUMN status VARCHAR DEFAULT 'new';
UPDATE orders SET status = 'new' WHERE status IS NULL;Adding several at once, and putting one in the middle
One ALTER can add several columns, which is worth doing because each statement is its own transaction and its own metadata version. What you cannot do is control position: new columns always land at the end, and there is no AFTER clause. When column order matters for a downstream consumer, recreate the table with CREATE OR REPLACE ... AS SELECT and put them where you want.
ALTER TABLE orders ADD COLUMN status VARCHAR, ADD COLUMN channel VARCHAR;Run this in SaturnSQL
SaturnSQL is a browser-based SQL editor for teams: shared query library, schema-aware autocomplete, and scheduled exports to Google Sheets and Slack.
Try it free