3 个版本 (1 个稳定版)
1.0.0 | 2023年12月7日 |
---|---|
0.1.1 | 2023年11月17日 |
0.1.0 | 2023年11月17日 |
#1194 in 数据库接口
165KB
1.5K SLoC
joker_query
joker_query 是 Rust 中最为糖化的查询构建器,使用 joker_query 可以通过糖化语法实现大多数复杂查询
功能
− (运算符) - 完全实现(选择、插入、更新、删除)查询操作
− (子查询) - 可以在运算符(IN、EXISTS、<、>、<=、>=)中使用子查询,也可以将子查询用作数据源,例如 select * from (...)
示例
1.0.0 版本
选择
Select::
cols(vec!["id", "age", "fullname"])
.distinct()
.from("customer")
.inner_join("merchant").on("customer.id", "customer_id")
.left_join("product").on("customer.id", "customer_id")
.where_by("age", op::between(10, 25))
.and("fullname", op::like("full%"))
.or("fullname", op::not_in(vec!["danyal", "danyalmh", "danyalai"]))
.group_by(vec!["merchant_id"])
.having(&Func::count("id"), op::eq(2025))
.order_by("fullname")
.order_by_desc("age")
.limit(10)
.offset(5)
.build();
示例
- 查看完整示例 这里。
基准测试
- 几乎所有复杂查询都在 5us 以下运行
Crates
joker_query = "1.0.0"