バージョン管理されたSQLファイルやGo関数でデータベースのスキーマ変更を管理するCLI兼Goライブラリ。
sqlc-dev/sqlc
SQLクエリを読み取り、型安全なGo、Kotlin、Python、TypeScriptのコードを生成するSQLコンパイラです。
- スター
- 18,401
- フォーク
- 1,102
- 未解決の Issue
- 695
- 最終コミット
- 22 時間前
これは何?
sqlcはSQLクエリを型安全なアプリケーションコードに変換します。SQLでクエリを書いてsqlcを実行すると、型付きの入力と出力を持つ関数が生成され、ORMや文字列連結でクエリを組み立てる代わりに、アプリケーションから直接呼び出せます。
SQLスキーマとクエリをもとに動作するため、生成コードには実際のデータベース構造が反映されます。公式のコードジェネレーターはGo、Kotlin、Python、TypeScriptに対応しており、プラグインで他の言語も追加できます。インストール前にクエリを試せるオンラインプレイグラウンドも用意されています。
sqlcはGoで書かれており、MITライセンスで配布されています。トピック一覧では、対応するデータベースとしてPostgreSQL、MySQL、SQLiteが挙げられています。
主な機能
- 01SQLクエリから、型付きのGo、Kotlin、Python、TypeScript関数を生成
- 02SQLスキーマをもとに動作し、データベース構造に合ったコードを生成
- 03コミュニティ製の言語プラグインで拡張可能
- 04クエリを試せるオンラインプレイグラウンドを提供
ユースケース
- ORMを使わずにPostgreSQLやMySQLと連携するGoサービスの構築
- データベースアクセスコードがスキーマに対して型チェックされる状態の維持
- PythonやTypeScriptのバックエンド向けデータアクセス層の生成
トピック
よくある質問
- sqlc とは?
- SQLクエリを読み取り、型安全なGo、Kotlin、Python、TypeScriptのコードを生成するSQLコンパイラです。 sqlcはSQLクエリを型安全なアプリケーションコードに変換します。SQLでクエリを書いてsqlcを実行すると、型付きの入力と出力を持つ関数が生成され、ORMや文字列連結でクエリを組み立てる代わりに、アプリケーションから直接呼び出せます。
- sqlc は無料で使えますか?ライセンスは?
- sqlc は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- sqlc は今もメンテナンスされていますか?
- 活発にメンテナンス中。sqlc の最終コミットは 2026年10月21日 です。
- sqlc は何に使えますか?
- ORMを使わずにPostgreSQLやMySQLと連携するGoサービスの構築 データベースアクセスコードがスキーマに対して型チェックされる状態の維持 PythonやTypeScriptのバックエンド向けデータアクセス層の生成
- sqlc はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/sqlc-dev/sqlc
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
チームや環境をまたいでSQLデータベースのマイグレーションを管理する、軽量でフレームワークに依存しないCLIツール。
Node.js、Bun、Deno、エッジランタイムで使える、PostgreSQL・MySQL・SQLite対応の軽量なヘッドレスTypeScript ORM。
PostgreSQL、MySQL、MariaDB、SQLite、MS SQL Server、Snowflake、Oracle、Db2に対応する、Node.js・TypeScript向けのPromiseベースORM。
Linux、macOS、Windows対応のクロスプラットフォームSQLエディター兼データベース管理ツール
複数のデータベースに対して順序付きのスキーマ変更を適用できる、CLIとライブラリを備えたGo製のマイグレーションツール。