GoSQLX
以 Go 的速度解析 SQL
👁 Go Version
👁 Release
👁 License
👁 PRs Welcome
👁 Website
👁 VS Code
👁 MCP
👁 Glama MCP Server
👁 Lint Action
👁 Tests
👁 Go Report
👁 GoDoc
👁 Stars
👁 OpenSSF Scorecard
🌐 尝试 Playground · 📖 阅读文档 · 🚀 快速开始 · 📊 基准测试
138万+ 次操作/秒 | <1μs 延迟 | 85% SQL-99 | 8 种方言 | 0 竞态条件 |
什么是 GoSQLX?
GoSQLX 是一个适用于 Go 语言的生产级 SQL 解析 SDK。它通过零拷贝优化和智能对象池技术对 SQL 进行标记化、解析并生成 AST——每秒可处理 138 万次以上操作,延迟低于微秒级。
ast, _ := gosqlx.Parse("SELECT u.name, COUNT(*) FROM users u JOIN orders o ON u.id = o.user_id GROUP BY u.name")
// → Full AST with statements, columns, joins, grouping - ready for analysis, transformation, or formatting为什么选择 GoSQLX?
不是 ORM - 它是一个解析器。你获得 AST,由你决定如何处理它。
不慢 - 零拷贝标记化,sync.Pool 回收,热路径无内存分配。
不局限 - 支持 PostgreSQL、MySQL、MariaDB、SQL Server、Oracle、SQLite、Snowflake、ClickHouse。支持 CTE、窗口函数、MERGE、集合操作。
不仅仅是一个库 - 提供 CLI、VS Code 扩展、GitHub Action、MCP 服务器、WASM playground、Python 绑定。
Related MCP server: mcp-server-duckdb
60 秒快速开始
go get github.com/ajitpratap0/GoSQLXpackage main
import (
"fmt"
"github.com/ajitpratap0/GoSQLX/pkg/gosqlx"
)
func main() {
// Parse any SQL dialect
ast, _ := gosqlx.Parse("SELECT * FROM users WHERE active = true")
fmt.Printf("%d statement(s)\n", len(ast.Statements))
// Format messy SQL
clean, _ := gosqlx.Format("select id,name from users where id=1", gosqlx.DefaultFormatOptions())
fmt.Println(clean)
// SELECT
// id,
// name
// FROM users
// WHERE id = 1
// Catch errors before production
if err := gosqlx.Validate("SELECT * FROM"); err != nil {
fmt.Println(err) // → expected table name
}
}随处安装
📦 Go 库
go get github.com/ajitpratap0/GoSQLX🖥️ CLI 工具
go install github.com/ajitpratap0/GoSQLX/cmd/gosqlx@latest
gosqlx validate "SELECT * FROM users"
gosqlx format query.sql
gosqlx lint query.sql💻 VS Code 扩展
code --install-extension ajitpratap0.gosqlx内置二进制文件 - 零配置。了解更多 →
🤖 MCP 服务器 (AI 集成)
claude mcp add --transport http gosqlx \
https://mcp.gosqlx.dev/mcp在 Claude、Cursor 或任何 MCP 客户端中使用 7 个 SQL 工具。指南 →
功能概览
文档
资源 | 描述 | |
🌐 | 带有交互式 playground 的网站 | |
🚀 | 5 分钟内解析你的第一个 SQL | |
📖 | 全面的模式和示例 | |
📄 | 完整的 API 文档 | |
🖥️ | 命令行工具参考 | |
🌍 | 方言支持矩阵 | |
🤖 | AI 助手集成 | |
🏗️ | 系统设计深度解析 | |
📊 | 性能数据和方法论 | |
📝 | 每个版本的新功能 |
贡献
GoSQLX 由像你一样的贡献者构建。无论是修复 Bug、新功能、文档改进还是仅仅是修正错别字——每一次贡献都很重要。
git clone https://github.com/ajitpratap0/GoSQLX.git && cd GoSQLX
task check # fmt → vet → lint → test (with race detection)Fork 并从
main分支创建分支编写测试 - 我们使用 TDD 并要求无竞态代码
运行
task check- PR 前必须通过提交 PR - 我们会在 24 小时内审核
谁在使用 GoSQLX?
GoSQLX 被全球开发者下载和克隆——仅在 14 天内就有 595 个独立克隆者。如果你在你的项目或组织中使用 GoSQLX,我们很乐意听听你的故事!
项目 / 公司 | 使用场景 |
在此处添加你的项目 |
在工作中使用了 GoSQLX?用它构建了很酷的东西?在 GitHub 讨论区 分享你的故事——这有助于社区成长并激励持续开发。
社区
有疑问?有想法?发现了 Bug?
许可证
Apache License 2.0 - 详情请参阅 LICENSE。
由 GoSQLX 社区 ❤️ 构建
gosqlx.dev · Playground · 文档 · MCP 服务器 · VS Code
如果 GoSQLX 对你的项目有帮助,请考虑给它一个 ⭐
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ajitpratap0/GoSQLX'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
