Expand description
Type-safe SQL query builder for SQLModel Rust.
sqlmodel-query is the query construction layer. It provides the fluent builder
API and expression DSL that turn Model metadata into executable SQL plus parameters.
§Role In The Architecture
- Query macros:
select!,insert!,update!,delete!build typed queries. - Expression DSL:
Exprand operators build WHERE/HAVING clauses safely. - Dialect support: generates SQL for Postgres, MySQL, and SQLite.
The resulting queries execute through the Connection trait from sqlmodel-core.
Most users access these builders via the sqlmodel facade crate.
Re-exports§
pub use builder::DeleteBuilder;pub use builder::InsertBuilder;pub use builder::InsertManyBuilder;pub use builder::OnConflict;pub use builder::QueryBuilder;pub use builder::SetClause;pub use builder::UpdateBuilder;pub use cache::StatementCache;pub use cache::cache_key;pub use clause::Limit;pub use clause::Offset;pub use clause::OrderBy;pub use clause::Where;pub use cte::Cte;pub use cte::CteRef;pub use cte::WithQuery;pub use eager::EagerLoader;pub use eager::IncludePath;pub use expr::BinaryOp;pub use expr::Expr;pub use expr::UnaryOp;pub use expr::WindowBuilder;pub use expr::WindowFrame;pub use expr::WindowFrameBound;pub use expr::WindowFrameType;pub use join::Join;pub use join::JoinType;pub use select::Select;pub use set_ops::SetOpType;pub use set_ops::SetOperation;pub use set_ops::except;pub use set_ops::except_all;pub use set_ops::intersect;pub use set_ops::intersect_all;pub use set_ops::union;pub use set_ops::union_all;
Modules§
- builder
- Query builders for INSERT, UPDATE, DELETE operations.
- cache
- Statement caching for compiled SQL queries.
- clause
- SQL clause types (WHERE, ORDER BY, LIMIT, etc.)
- cte
- Common Table Expressions (CTEs) for SQL queries.
- eager
- Eager loading infrastructure for relationships.
- expr
- SQL expressions for query building.
- join
- JOIN clause types.
- select
- SELECT query builder.
- set_ops
- Set operations for combining query results.
Macros§
- delete
- Create a DELETE query for a model.
- insert
- Create an INSERT query for a model.
- insert_
many - Create a bulk INSERT query for multiple models.
- select
- Create a SELECT query for a model.
- update
- Create an UPDATE query for a model.
Enums§
- Dialect
- SQL dialect for generating dialect-specific SQL.
Functions§
- raw_
execute - Raw SQL statement execution.
- raw_
query - Raw SQL query execution.