sqlc

Database and language support

LanguagePluginMySQLPostgreSQLSQLiteClickHouseDuckDBSpannerSQL Server
Go(built-in)StableStableBetaBetaBetaBetaBeta
Gosqlc-gen-goStableStableBetaN/AN/AN/AN/A
Kotlinsqlc-gen-kotlinBetaBetaN/AN/AN/AN/AN/A
Pythonsqlc-gen-pythonBetaBetaN/AN/AN/AN/AN/A
TypeScriptsqlc-gen-typescriptBetaBetaN/AN/AN/AN/AN/A

The built-in Go generator targets database/sql for ClickHouse, DuckDB, Spanner and SQL Server, with the types their drivers hand back: clickhouse-go, duckdb-go, go-sql-spanner and go-mssqldb. DuckDB enums and SQL Server alias types are not yet resolved and come out as any; ClickHouse enums are strings. A DuckDB JSON column comes out as any, holding the value the driver decodes the document into, and a JSON parameter is passed as its text.

Community language support

New languages can be added via plugins.

LanguagePluginMySQLPostgreSQLSQLite
C#DaredevilOSS/sqlc-gen-csharpStableStableStable
F#kaashyapan/sqlc-gen-fsharpN/ABetaBeta
Javatandemdude/sqlc-gen-javaBetaBetaN/A
PHPlcarilla/sqlc-plugin-php-dbalBetaN/AN/A
RubyDaredevilOSS/sqlc-gen-rubyBetaBetaBeta
Zigtinyzimmer/sqlc-gen-zigN/ABetaBeta
Pythonrayakame/sqlc-gen-better-pythonBetaStableStable
Rustmathematic-inc/sqlc-gen-sqlxN/ABetaN/A
[Any]fdietze/sqlc-gen-from-templateStableStableStable

Plugins developed by our Community can also be found using our github topic.

Community projects

LanguageProjectMySQLPostgreSQLSQLite
Gleamdaniellionel01/parrotStableStableStable

On this page