18 hours ago
- Esqueleto 是一个类型安全的库,用于在 Haskell 中编写 SQL 查询,基于 Persistent 数据映射。
- 它允许近乎原生的 SQL 查询,并带有编译时类型检查,以防止错误。
- 本教程使用示例 chinook.db SQLite 数据库,并用 Persistent 和 Esqueleto 搭建一个 Haskell 项目。
- 涵盖基本的 SELECT 查询:算术运算、从表中选择、限制结果、排序和提取字段。
- 过滤器包括 WHERE、DISTINCT、LIKE、集合成员(IN_)、子查询和空值检查(IS NULL、IS NOT NULL)。
- 连接:表之间的内连接,以及使用新 Esqueleto 风格(带有单子绑定和模式匹配)的多表连接。
- 数据聚合:GROUP BY、COUNT、HAVING 用于过滤分组结果。
- 推荐使用新风格(Database.Esqueleto.Experimental),它比旧风格更安全。