Skip to main content

Crate sqlmodel_query

Crate sqlmodel_query 

Source
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: Expr and 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::PolymorphicJoined;
pub use select::PolymorphicJoined2;
pub use select::PolymorphicJoined3;
pub use select::PolymorphicJoinedSelect;
pub use select::PolymorphicJoinedSelect2;
pub use select::PolymorphicJoinedSelect3;
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.
subquery
Dialect-aware subquery builders.

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.