Repolode
sqlc-dev

sqlc-dev/sqlc

SQL 编译器,读取 SQL 查询并生成类型安全的 Go、Kotlin、Python 和 TypeScript 代码。

Star
18,401
Fork
1,102
未关闭 Issue
695
最近提交
23小时前

这是什么?

sqlc 把 SQL 查询编译成类型安全的应用代码。你用 SQL 编写查询,运行 sqlc 后,它会生成带有类型化输入和输出的函数,应用可以直接调用,无需通过 ORM 或字符串拼接来构造查询。

工具基于 SQL 的 schema 和查询语句工作,因此生成的代码与实际数据库结构保持一致。官方代码生成器覆盖 Go、Kotlin、Python 和 TypeScript,也可以通过插件支持更多语言。项目还提供在线 playground,便于在安装前试用。

sqlc 使用 Go 编写,采用 MIT 许可证,支持 PostgreSQL、MySQL 和 SQLite。

核心功能

  • 01根据 SQL 查询生成带类型的 Go、Kotlin、Python 和 TypeScript 函数
  • 02基于 SQL schema 工作,生成的代码与数据库结构保持一致
  • 03可通过社区语言插件扩展支持的语言
  • 04提供在线 playground,便于试用查询

适用场景

  • 构建不使用 ORM、直接访问 PostgreSQL 或 MySQL 的 Go 服务
  • 让数据库访问代码与 schema 保持类型检查
  • 为 Python 或 TypeScript 后端生成数据访问层

快速上手

  1. 1

    使用 Go 通过 README 中的安装命令安装 sqlc

  2. 2

    阅读官方安装指南了解其他安装方式

  3. 3

    在交互式 Playground 中试用 sqlc

标签

常见问题

sqlc 是什么?
SQL 编译器,读取 SQL 查询并生成类型安全的 Go、Kotlin、Python 和 TypeScript 代码。 sqlc 把 SQL 查询编译成类型安全的应用代码。你用 SQL 编写查询,运行 sqlc 后,它会生成带有类型化输入和输出的函数,应用可以直接调用,无需通过 ORM 或字符串拼接来构造查询。
sqlc 可以免费使用吗?用的什么许可证?
sqlc 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
sqlc 还在维护吗?
活跃维护中。sqlc 最近一次提交是在 2026年10月21日。
sqlc 适合用来做什么?
构建不使用 ORM、直接访问 PostgreSQL 或 MySQL 的 Go 服务 让数据库访问代码与 schema 保持类型检查 为 Python 或 TypeScript 后端生成数据访问层
sqlc 怎么安装和运行?
使用 Go 通过 README 中的安装命令安装 sqlc 阅读官方安装指南了解其他安装方式 在交互式 Playground 中试用 sqlc
在哪里获取 sqlc?
源代码和安装说明在 GitHub 上:https://github.com/sqlc-dev/sqlc

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目