| Category | Types |
|---|---|
| Numeric | NUMBER, INT, FLOAT, DECIMAL |
| String | VARCHAR, CHAR, TEXT, STRING |
| Date/Time | DATE, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ |
| Semi-structured | VARIANT, OBJECT, ARRAY |
| Binary | BINARY |
CREATE TABLE employees (
emp_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
salary NUMBER(10,2),
hire_date DATE DEFAULT CURRENT_DATE,
metadata VARIANT,
dept_id INT,
FOREIGN KEY (dept_id) REFERENCES departments(dept_id)
);
-- Add/drop columns
ALTER TABLE employees ADD COLUMN email VARCHAR(255);
ALTER TABLE employees DROP COLUMN email;
-- Set default
ALTER TABLE employees ALTER COLUMN salary SET DEFAULT 0;
Snowflake supports PRIMARY KEY, UNIQUE, FOREIGN KEY, and NOT NULL. These are informational (not enforced) except NOT NULL.