# MariaDB [MariaDB](https://mariadb.org/) can either be used as a data source or a data destination in Zuar Runner. .. image:: assets/mariadb-1.png :alt: Zuar Runner and MariaDB Source plugin example: [Query](/jobs/query/) Destination plugin examples: [CSV](/jobs/csv/), [Salesforce](/connectors/salesforce/), [SQL](/jobs/sql/) ## MariaDB as a Data Destination - Zuar Runner automatically creates the MariaDB database if it doesn't exist - Zuar Runner automatically creates the MariaDB database tables if they don't exist - Zuar Runner automatically determines data types for MariaDB columns - Zuar Runner automatically adds new columns to MariaDB tables based on new fields in source systems ## MariaDB Specific Setup Below is the [database url](/databases/database-urls/) structure for connecting to a MariaDB database: `mysql+pymysql://:@/` Here's an example of using a MariaDB database as a destination in a [CSV](/jobs/csv/) job: .. image:: assets/mariadb__output.png :alt: CSV Job with MariaDB .. NOTE:: Unlike databases like `PostgreSQL `__ , MariaDB doesn't have the concept of **Schemas**. When using MariaDB as an input or output database, you have two options: 1. Leave "**Schema**" blank and append the database name to the end of the database URL. ```json "output": { "dbo": "mysql+pymsql://{user}:{password}@{host}:{port}/{database}", "tablename": "{tablename}", ... } ``` 2. Put the database name in the "schema" section and remove it from the end of the database URL. ```json "output": { "dbo": "mysql+pymsql://{user}:{password}@{host}:{port}/", "schema": "{database}", "tablename": "{tablename}", ... } ``` ## SQL Zuar Runner can send [SQL](/jobs/sql/) statements to a MariaDB database. Use MariaDB syntax in these Zuar Runner SQL jobs.