3 个版本
0.1.4 | 2024 年 3 月 2 日 |
---|---|
0.1.3 | 2024 年 3 月 2 日 |
0.1.2 | 2024 年 3 月 1 日 |
0.1.1 |
|
0.1.0 |
|
在 #programmatically 中排名第 27
15KB
376 行
Lua sql builder
这个仓库包含一个用 Rust 编写的项目,旨在构建 SQL 查询。它是为了学习更多关于 Rust 编程语言及其应用而创建的。
关于项目
该项目是一个 SQL 查询构建器,允许您以编程和直观的方式创建复杂的 SQL 查询。它支持各种 SQL 操作,包括列选择、连接、WHERE 子句、分组、排序等。
以下是一个使用代码构建 SQL 查询的示例
use lua_sql_builder::mysql::{
join::JoinType,
select::Select,
where_::{Combiner, Where},
};
pub fn main() {
let mut select = Select::new();
let mut where_ = Where::new(Combiner::And);
where_
.not_equal_to("email", "[email protected]")
.greater_than_equal("age", "2")
.less_than("salary", "230.00")
.less_than_equal("age", "25")
.is_null("genre");
select
.columns("name, age, email, salary")
.from("users_tb u")
.join("emails_tb e", "e.user_id = u.user_id", JoinType::Left)
.join("phones_tb p", "p.user_id = u.user_id", JoinType::Left)
.where_(where_);
println!("{}", select.build());
}
输出
SELECT name, age, email, salary FROM users_tb u LEFT JOIN emails_tb e ON e.user_id = u.user_id LEFT JOIN phones_tb p ON p.user_id = u.user_id WHERE email != '[email protected]' AND age >= 2 AND salary < 230.00 AND age <= 25 AND genre ISNULL;