| sql方法 | 说明 | | ---- | ---- | | mycount | 返回计数的sql | | mydel | 删除一条数据的sql | | myfind | 查寻数据的sql | | myget | 查寻一条数据的sql | | myset | 新增一条数据的sql | | mysetmany | 批量新增数据的sql | | myupdate | 更新一条数据的sql | | myupdatemany | 批量更新数据的sql |
依赖:
toml
mysql = "23.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0", default-features = false, features = ["alloc"] }
regex = "1.7"
myrunvec、myrundrop
rust
let id: u64 = my_run_drop(&mut conn, sql).unwrap();
let data: Vec<T> = my_run_vec(&mut conn, sql).unwrap();
以下内容,则为常用sql的快捷方法 ```rust use mysqlquick::{MysqlQuick, run, find ...}; pub fn mysqlconn() -> PooledConn { let conn = MysqlQuick::new(1, 10, "mysql://root:12345678@localhost:3306/devdb").unwrap().pool.getconn().unwrap(); conn } let mut conn = mysql_conn();
// 新增一条数据 let id = myrundrop(&mut conn, myset!("fortest", { "content": "ADFaadf", "uid": 9, "info": if let Some(a) = oneinfo {a} else {"null"}, })).unwrap();
// 删除一条数据 myrundrop(&mut conn, mydel!("for_test", 50)).unwrap();
// 更新一条数据 myrundrop(&mut conn, myupdate!("for_test", 56, { "content": "更新后的内容,一一一一" })).unwrap();
// 批量 新增数据 let msql2 = mysetmany!("fortest", vec![ Item {"uid": 1, "content": "批量更新00adf"}, Item {"uid": 2, "content": "2342341"}, Item {"uid": 3, "content": "mmmmm"}, ]) myrundrop(&mut conn, msql).unwrap();
// 批量 更新数据 let sql = myupdatemany!("fortest", "uid", vec![ Item {"uid": 1, "content": "批量更新00adf"}, Item {"uid": 2, "content": "2342341"}, ]) myrun_drop(&mut conn, sql).unwrap();
// 获取一条数据 let sql1 = myget!("for_test", 33, "id as id, feedback.content as cc");
struct Feedback {
id: u64,
cc: String
}
let resget: Vec
// 查寻数据
let sqlf = myfind!("fortest", {
p0: ["uid", ">", 330],
r: "p0",
select: "id, content as cc",
});
let resfind: Vec
// 获取计数
let rescount: Vec
```
myruntranvec、myruntrandrop ```rust use mysqlquick::{TxOpts, MYEXCLUSIVELOCK, MYSHARED_LOCK};
let mut conn = mysqlconn();
// ---- 事务开始 ----
let mut tran = conn.starttransaction(TxOpts::default()).unwrap();
let getsql = myget!("fortest", 5, "id,title,content,price,total,uid") + MYEXCLUSIVELOCK;
let getdata: Vec
```