Crate chain_builder

Source
Expand description

Chain Builder - A flexible and easy-to-use query builder for MySQL in Rust

This library provides a fluent interface for building SQL queries with support for:

  • SELECT, INSERT, UPDATE, DELETE operations
  • Complex WHERE clauses with subqueries
  • JOIN operations
  • WITH clauses (CTEs)
  • UNION operations
  • Raw SQL support

§Example

use chain_builder::{ChainBuilder, Client, Select, WhereClauses};
use serde_json::Value;

let mut builder = ChainBuilder::new(Client::Mysql);
builder
    .db("mydb")
    .select(Select::Columns(vec!["*".into()]))
    .table("users")
    .query(|qb| {
        qb.where_eq("name", Value::String("John".to_string()));
        qb.where_eq("status", Value::String("active".to_string()));
    });

let (sql, binds) = builder.to_sql();

Structs§

ChainBuilder
Main query builder for constructing SQL queries
JoinBuilder
JOIN builder for constructing JOIN clauses
QueryBuilder
Main query builder for constructing WHERE clauses and other query parts
ToSql

Enums§

Client
Supported database clients
Common
Common SQL clauses (WITH, UNION, LIMIT, etc.)
Method
SQL operation methods
Operator
SQL comparison operators
Select
SELECT clause types
Statement
SQL statement types for WHERE clauses

Traits§

HavingClauses
Trait for HAVING clause operations
JoinMethods
Trait for JOIN operations
QueryCommon
Trait for common query operations
WhereClauses
Trait for WHERE clause operations