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.
DELETE
WHERE
clause
INSERT
SELECT
- Table alias (
AS
) - Field selection
JOIN
clauseWHERE
clauseGROUP BY
clauseHAVING
clauseORDER BY
clauseLIMIT
andOFFSET
clause
- Table alias (
UPDATE
WHERE
clause
- "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