Skip to main content
Kysely uses a fluent builder pattern that allows you to construct SQL queries through method chaining. Each method returns a new query builder instance, making queries immutable and composable.

The Builder Pattern

Every query in Kysely starts from the Kysely instance and builds up through method chaining:

Immutability and Composability

Each method returns a new query builder instance, leaving the original unchanged:
This immutability makes queries composable and reusable:

SELECT Queries

Basic Selection

WHERE Clauses

JOINs

Aggregation and Grouping

INSERT Queries

UPDATE Queries

DELETE Queries

Execution Methods

Kysely provides several methods to execute queries:

Dynamic Queries

Build queries conditionally:
Or use helper functions:

Method Chaining Reference

Common method chains for each query type: SELECT:
INSERT:
UPDATE:
DELETE:
Every query builder method returns a new instance, so you can safely reuse base queries.
The type parameter changes as you chain methods, ensuring you can only reference columns and tables that are in scope.