Pinto is a small, easy-to-use library for constructing SQL queries programmatically in Rust.
The library aims to generate queries compatible with PostgreSQL, MySQL, and SQLite.
Add pinto as a dependency:
[dependencies]
pinto = "0.6.1"let query = query_builder::select("users")
.fields(&["id", "name"])
.filter("name = $1")
.order_by("id", query_builder::Order::Asc)
.build();
assert_eq!("SELECT id, name FROM users WHERE name = $1 ORDER BY id ASC;", query);See included tests for additional examples.
DELETEWHEREclause
INSERTSELECT- Table alias (
AS) - Field selection
JOINclauseWHEREclauseGROUP BYclauseHAVINGclauseORDER BYclauseLIMITandOFFSETclause
- Table alias (
UPDATEWHEREclause
- "First Steps" (recommended for beginners)
- API documentation
Pinto aims to be:
- Easy-to-use — the library should be useful with a beginner's knowledge of Rust
- Simple — the library's API should follow common SQL terminology and should allow its users to write concise, readable implementations
Other design goals, such as performance, are relevant but not foremost.
MIT