# Overview

Snowflake can either be used as a data source or a data destination in Mitto.

Source plugin example: Query

Destination plugin examples: CSV, Salesforce, SQL

## Snowflake as a data destination

• Mitto automatically creates the Snowflake database schema if it doesn't exist
• Mitto automatically creates the Snowflake database tables if they don't exist
• Mitto automatically determines data types for Snowflake columns
• Mitto automatically adds new columns to Snowflake tables based on new fields in source systems
• Mitto automatically adjusts Snowflake tables based on changes in source data

## Snowflake specific setup

Below is the database url structure for connecting to a Snowflake database:

`snowflake://<username>:<password>@<hostname>/<database>?warehouse=<warehouse>`

Here's an example of using a Snowflake database as a destination in a CSV job:

NOTE: When outputting to a Snowflake database, leaving the "Schema" blank will create a table in the public schema.

## SQL

Mitto can send SQL statements to a Snowflake database. Use Snowflake syntax in these Mitto SQL jobs.