Compile-Time Checked Queries
Type-safe SQL.
The killer feature
sqlx can verify your SQL at compile time against a real database schema. Typos, wrong column names, and type mismatches become build errors.
- Uses the
query!family of macros - Catches bugs before runtime
query! vs query
The query() function is checked at runtime. The query! macro is checked at compile time by connecting to the database during the build.
use sqlx::{Pool, Postgres};
async fn run(pool: &Pool<Postgres>) {
let rec = sqlx::query!("SELECT id, name FROM users WHERE id = $1", 1i32)
.fetch_one(pool)
.await
.unwrap();
}All lessons in this course
- Connecting to a Database
- Compile-Time Checked Queries
- CRUD Operations
- Migrations