百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
S

sqlpp11

> 编程语言
开源

一个用于C++的类型安全SQL模板库

2.6K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

一个用于C++的类型安全SQL模板库

sqlpp11

一个用于C++中SQL查询和结果的类型安全的嵌入式领域特定语言。

[!IMPORTANT] [2025-06-29]
请考虑迁移到 sqlpp23。
sqlpp11 在可预见的未来仍会得到维护,但新的开发将仅在 sqlpp23 中进行。

文档可在 docs 中找到。

这是关于什么的?

SQL 和 C++ 都是强类型语言。然而,大多数 C/C++ 与 SQL 的接口都是基于将查询构建为字符串,并将字符串数组或映射解释为结果。

sqlpp11 是一个模板库,代表一种嵌入式领域特定语言(EDSL),允许你

  • 定义表示表和列的类型,
    • 构建类型安全的查询,在编译时检查语法错误、类型错误、名称错误,甚至一些语义错误,
    • 通过遍历查询特定的结构体来解释结果,这些结构体具有适当命名和类型的成员。

这带来了几个好处,例如:

  • 库用户可以舒适地操作结构体和函数,
  • 编译器在代码进入单元测试或生产环境之前很久就报告多种错误,
  • 库隐藏了构建查询字符串和解释select调用返回结果的繁琐细节。

库支持静态和动态查询。前者在类型和一致性检查方面具有更大的优势。后者使得在运行时构建查询更加方便。sqlpp11 的核心是中立的。数据库的特定特性(例如不支持或非标准功能)由连接器库处理。连接器库可以在编译时告知开发人员缺少的功能。它们还在需要时特别解释表达式。例如,连接器可以使用运算符 || 或连接方法进行字符串连接,而不需要开发人员更改语句。

MariaDB、MySQL、PostgreSQL、sqlite3、sqlcipher 等连接器都包含在本仓库中。该库已在生产环境中使用,但仍然不完善。欢迎提交功能请求、错误报告、代码贡献等。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C++

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言