Supported dialects
Every dialect sqlglot ships, plus MariaDB and a generic ANSI dialect. Laravel's driver names (mysql, mariadb, pgsql, sqlite, sqlsrv) work everywhere a dialect is expected.
Laravel drivers
| Driver |
Names to pass |
| MySQL |
mysql |
| MariaDB |
mariadb |
| PostgreSQL |
postgres, pgsql |
| SQLite |
sqlite |
| SQL Server |
tsql, sqlsrv, mssql |
Warehouses
| System |
Name |
| BigQuery |
bigquery |
| Snowflake |
snowflake |
| Redshift |
redshift |
| Databricks |
databricks |
| ClickHouse |
clickhouse |
| Exasol |
exasol |
| Teradata |
teradata |
| Microsoft Fabric |
fabric |
Query engines
| System |
Names |
| Hive |
hive |
| Spark |
spark, spark2 |
| Presto |
presto |
| Trino |
trino |
| Athena |
athena |
| Drill |
drill |
| Druid |
druid |
| Dremio |
dremio |
| Dune |
dune |
Other databases and languages
| System |
Name |
| Oracle |
oracle |
| DuckDB |
duckdb |
| Doris |
doris |
| StarRocks |
starrocks |
| SingleStore |
singlestore |
| Materialize |
materialize |
| RisingWave |
risingwave |
| Solr |
solr |
| Tableau |
tableau |
| DAX |
dax |
| PRQL |
prql |
Resolving dialects
use Kwasii\LaravelSqlParser\Facades\LaravelSqlParser as Sql;
Sql::dialect('mysql'); // MySql instance
Sql::dialect('pgsql'); // Postgres instance (Laravel driver alias)
Sql::dialectForDriver('sqlsrv'); // T-SQL instance
Unknown names throw an InvalidArgumentException. Add your own via Custom dialects.