SZ-ORM QueryBuilder — Standalone SQL Builder (sea-query style)
A pure SQL builder that does not bind to Model, can be compiled independently and published to crates.io.
Design inspired by sea-query:
- Decoupled from ORM: does not depend on
Modeltrait, pure SQL construction - Multi-dialect support: adapts MySQL/PostgreSQL/SQLite/Oracle via [
DbType] - Chainable API: all methods return
Self - Zero runtime overhead: construction process requires zero database connections
Quick Start
use DbType;
use ;
// SELECT
let sql = select
.column
.column
.from
.where_clause
.order_by
.limit
.build;
assert!;
assert!;
// INSERT
let sql = insert
.into_table
.value
.value
.build;
assert!;
// UPDATE
let sql = update
.table
.set
.where_clause
.build;
assert!;
// DELETE
let sql = delete
.from_table
.where_clause
.build;
assert!;
Differences from sz-orm-core::QueryBuilder
| Feature | sz-orm-core::QueryBuilder<M> |
sz-orm-query-builder::Query |
|---|---|---|
| Binds Model | Yes (<M: Model>) |
No |
| Type safety | Compile-time table/column validation | Runtime strings |
| Applicable scenarios | Full ORM workflow | Pure SQL construction, dynamic queries |
| Dependencies | All of sz-orm-core | Only dialect module |
| Independent publish | No | Yes |