Getting Started: Account Setup, Web UI, and First Queries
Learn how to set up a Snowflake account, navigate the Web UI, and run your first SQL queries.
20+ years shipping high-throughput database systems. Lessons pulled from things that broke in production.
- ✓Basic knowledge of SQL (SELECT, INSERT, CREATE TABLE)
- ✓A web browser and internet connection
- ✓An email address to sign up for a free trial
- Sign up for a free trial at signup.snowflake.com.
- Use the Web UI (Snowsight) to create warehouses, databases, and schemas.
- Run basic SQL: CREATE, INSERT, SELECT, and explore sample data.
- Understand virtual warehouses as compute resources.
- Follow best practices like auto-suspend and role-based access.
Think of Snowflake as a giant, shared library where you can store and analyze data. The account is your library card, the Web UI is the reading room, and SQL queries are the questions you ask the librarian. Virtual warehouses are like temporary study rooms that you can set up and tear down as needed, so you only pay for the time you use them.
| Chrome | Firefox | Safari | Edge |
|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ |
Imagine you're a data analyst at a fast-growing e-commerce company. Your team is drowning in CSV files, and every query takes forever. You need a data warehouse that's fast, scalable, and easy to use—without managing servers. That's where Snowflake comes in. Snowflake is a cloud-native data platform that separates storage and compute, allowing you to scale independently and pay only for what you use. In this tutorial, you'll go from zero to running your first queries in minutes. We'll cover account setup, navigating the Snowsight web interface, creating virtual warehouses, loading sample data, and writing basic SQL. By the end, you'll have a solid foundation to start building your own data pipelines. Let's dive in!
1. Creating a Snowflake Account
To get started, navigate to signup.snowflake.com and sign up for a free 30-day trial. You'll need to provide your email, choose a cloud provider (AWS, Azure, or GCP) and region. After verification, you'll receive a URL like https://app.snowflake.com. This is your Snowsight interface. Once logged in, you'll see the classic Snowflake Web UI. For this tutorial, we'll use Snowsight (the new UI). If you see the classic UI, click 'Preview' to switch. Your account comes with a default warehouse (COMPUTE_WH), a database (SNOWFLAKE_SAMPLE_DATA), and a role (ACCOUNTADMIN). We'll use these to run our first queries.
2. Navigating Snowsight (Web UI)
Snowsight is the modern web interface for Snowflake. The left sidebar contains: Home, Data (databases, schemas, tables), Worksheets (SQL editor), Warehouses (compute resources), Admin (users, roles, billing). The top bar shows your current role and warehouse. To create a new worksheet, click 'Worksheets' > '+' > 'New Worksheet'. This opens a SQL editor with syntax highlighting and query history. You can also browse sample data by clicking 'Data' and expanding databases. Let's explore the TPCH_SF1 schema.
3. Understanding Virtual Warehouses
A virtual warehouse is a cluster of compute resources (CPU, memory, storage) that executes queries. You can create multiple warehouses of different sizes (X-Small to 6X-Large) and set them to auto-suspend after inactivity. This decouples compute from storage, so you only pay for compute when queries run. To create a warehouse, go to Admin > Warehouses > + Warehouse. Give it a name, choose size, and set auto-suspend (e.g., 5 minutes). You can also create warehouses via SQL.
4. Creating Databases and Schemas
Databases are logical containers for schemas, which contain tables, views, and other objects. You can create databases and schemas with simple SQL. Snowflake also supports cloning databases for zero-copy cloning, which is useful for creating development environments. Let's create a database for our e-commerce example.
5. Loading Data into Snowflake
Snowflake supports loading data from files (CSV, JSON, Parquet) via stages. A stage is a location where data files are stored, either internal (Snowflake-managed) or external (S3, Azure Blob). You can use the PUT command to upload files to a stage, then COPY INTO to load into a table. For this tutorial, we'll use a simple CSV file. First, create a file format and stage.
6. Running Your First Queries
Now that we have data, let's run some analytical queries. Snowflake supports standard SQL with extensions for analytics. We'll explore joins, aggregations, and window functions. Let's find total sales per customer.
7. Managing Roles and Permissions
Snowflake uses role-based access control (RBAC). The default roles are: ACCOUNTADMIN (full access), SECURITYADMIN (manage roles), SYSADMIN (create warehouses/databases), USERADMIN (manage users), PUBLIC (default for all users). Best practice: create custom roles with least privilege. For example, create a role 'analyst' that can only SELECT from specific schemas.
8. Monitoring Usage and Costs
Snowflake provides account usage views and information schema to monitor queries, warehouse usage, and storage. The ACCOUNT_USAGE schema contains views like QUERY_HISTORY, WAREHOUSE_METERING_HISTORY, and STORAGE_USAGE. You can also set resource monitors to cap credit consumption.
The Case of the Unbounded Warehouse
- Always configure auto-suspend for warehouses, especially in dev/test.
- Use resource monitors to cap daily/weekly credits.
- Regularly review warehouse usage in Account Usage views.
- Avoid running large queries on X-Large warehouses unnecessarily.
- Implement role-based access to prevent unauthorized warehouse creation.
SHOW NETWORK POLICIES;SELECT CURRENT_USER(), CURRENT_ACCOUNT();| File | Command / Code | Purpose |
|---|---|---|
| setup.sql | SELECT CURRENT_ROLE(), CURRENT_WAREHOUSE(); | 1. Creating a Snowflake Account |
| explore.sql | USE SCHEMA TPCH_SF1; | 2. Navigating Snowsight (Web UI) |
| warehouse.sql | CREATE WAREHOUSE my_wh | 3. Understanding Virtual Warehouses |
| create_db.sql | CREATE DATABASE IF NOT EXISTS ecommerce_db; | 4. Creating Databases and Schemas |
| load_data.sql | CREATE FILE FORMAT csv_format | 5. Loading Data into Snowflake |
| first_queries.sql | SELECT c.name, SUM(o.amount) AS total_spent | 6. Running Your First Queries |
| roles.sql | CREATE ROLE analyst; | 7. Managing Roles and Permissions |
| monitor.sql | SELECT query_text, warehouse_size, credits_used_cloud_services | 8. Monitoring Usage and Costs |
Key takeaways
Common mistakes to avoid
3 patternsForgetting to set a warehouse before querying
Using ACCOUNTADMIN for daily tasks
Not setting auto-suspend on warehouses
Interview Questions on This Topic
What is a virtual warehouse in Snowflake?
Frequently Asked Questions
20+ years shipping high-throughput database systems. Lessons pulled from things that broke in production.
That's Snowflake. Mark it forged?
3 min read · try the examples if you haven't