Free online tool
In development

Convert Parquet to SQL

Generate CREATE TABLE and INSERT statements from a .parquet file — pick your dialect (PostgreSQL, MySQL, SQLite, SQL Server) and paste the result straight into a database client. Online tool coming soon; methods that work today are below.

Why convert Parquet to SQL?

Parquet is the format data warehouses and lakes love; SQL is what most actual applications run on. Common reasons to bridge the two:

How to do it manually

DuckDB → SQL dump

DuckDB can read a .parquet file and emit standard SQL inserts:

duckdb my.db <<EOF
CREATE TABLE orders AS SELECT * FROM 'data.parquet';
.mode insert orders
SELECT * FROM orders;
EOF

PostgreSQL via pandas

import pandas as pd
from sqlalchemy import create_engine

df = pd.read_parquet("data.parquet")
engine = create_engine("postgresql://user:pass@localhost/db")
df.to_sql("orders", engine, if_exists="replace", index=False)

SQLite via DuckDB COPY

duckdb -c "ATTACH 'app.sqlite' AS sqlite_db (TYPE sqlite);
           CREATE TABLE sqlite_db.orders AS
             SELECT * FROM 'data.parquet';"

Parquet → SQL type mapping cheat-sheet

ParquetPostgreSQLMySQLSQLite
INT32INTEGERINTINTEGER
INT64BIGINTBIGINTINTEGER
FLOATREALFLOATREAL
DOUBLEDOUBLE PRECISIONDOUBLEREAL
BOOLEANBOOLEANTINYINT(1)INTEGER
STRING (BYTE_ARRAY UTF8)TEXTVARCHAR / TEXTTEXT
DATEDATEDATETEXT (ISO 8601)
TIMESTAMPTIMESTAMPDATETIMETEXT (ISO 8601)
DECIMAL(p,s)NUMERIC(p,s)DECIMAL(p,s)NUMERIC

Related tools