RepositoryTypeScript
kysely-org

kysely-org/kysely

A type-safe TypeScript SQL query builder

14.3ksao
452fork
146issue
5lượt xem

Thành tựu nổi bật

Những danh hiệu mới nhất của dự án

1
TINIX TRENDING·Chủ đề: query-builder

#1 Repository Của Tuần

2
TINIX TRENDING·Chủ đề: type-safe

#2 Repository Của Tuần

3
TINIX TRENDING·Chủ đề: deno

#3 Repository Của Tuần

🛡️ Kysely: viết SQL bằng TypeScript mà IDE tự gợi ý tên bảng, tên cột, kiểu dữ liệu

Type-safe SQL query builder — query như Knex, nhưng kết quả có kiểu chính xác và autocomplete hoạt động trên cả schema phức tạp.

Kysely (phát âm "Key-Seh-Lee") là thư viện TypeScript giúp bạn xây dựng câu SQL qua API thay vì nối chuỗi thủ công, đồng thời suy luận kiểu kết quả ngay tại compile time. Dự án lấy cảm hứng từ Knex.js, chạy trên Node.js, Deno, Bun, Cloudflare Workers và cả trình duyệt. Với hơn 14k sao GitHub, đây là lựa chọn quen thuộc cho ai muốn giữ quyền kiểm soát SQL thuần mà vẫn có trải nghiệm TypeScript xịn.

✨ Điểm nổi bật

  • Type-safe query builder: chỉ cho phép truy cập bảng/cột hợp lệ trong từng phần của query, sai tên cột là lỗi compile ngay.
  • Autocompletion toàn diện: IDE gợi ý tên bảng, cột, alias và kiểu trả về dựa trên schema bạn khai báo.
  • Infer từ subquery, join, CTE: tự suy luận tên cột, alias và kiểu từ select con, join con và with — kể cả alias kiểu pet.name as pet_name.
  • Nhiều dialect: PostgreSQL, MySQL, MSSQL, SQLite, PGlite và cộng đồng đóng góp thêm (CockroachDB, PlanetScale, D1, LibSQL...).
  • Escape hatch cho SQL động: cung cấp sql template tag và DynamicModule cho trường hợp TypeScript không gõ được tại compile time.
  • Transaction API: hỗ trợ giao dịch với callback hoặc transaction() object, dễ lồng nhiều thao tác.
  • Migration độc lập: module kysely-migrations riêng để quản lý schema migration mà không bắt buộc dùng ORM.
  • Chạy đa môi trường: Node.js, Deno, Bun, Cloudflare Workers, web browsers — cùng một API.

💡 Vì sao đáng chú ý

Điểm khác biệt lớn nhất của Kysely so với query builder truyền thống (Knex, knex-style) là cấp độ suy luận kiểu. Bạn khai báo interface database một lần, từ đó mọi select, insert, update, join đều được kiểm tra tên bảng, tên cột, kiểu trả về — kể cả khi bạn dùng subquery, CTE hay alias phức tạp. Viết xong, refactor schema, TypeScript báo ngay chỗ vỡ.

Dự án phù hợp với team muốn giữ SQL thuần (không bị che bởi ORM), nhưng không chịu nổi cảnh any và typo tên cột. Khi cần tối ưu query thủ công, Kysely không cản đường — bạn vẫn nhúng raw SQL qua template tag khi cần. Đó là lý do nhiều dự án chọn Kysely thay vì Prisma/TypeORM khi kiểm soát SQL là ưu tiên hàng đầu.


#TypeScript #SQL #QueryBuilder #TypeSafe #TiniX

Dự án tương tự

Khám phá các dự án và mô hình AI khác có sự tương đồng.

RepositoryTypeScript
prisma/orm

The Prisma ORM: write your application in TypeScript with human-readable queries instead of SQL. Host your database on Prisma Postgres and your app on Prisma Compute.

47.7k
Oct 23, 2026
RepositoryTypeScript
drizzle-team/drizzle-orm

ORM

36.1k
Oct 23, 2026
RepositoryTypeScript
beekeeper-studio/beekeeper-studio

Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.

23.8k
Oct 23, 2026
RepositoryJava
dbeaver/dbeaver

Free universal database tool and SQL client

52.2k
Oct 25, 2026
RepositoryTypeScript
directus/directus

The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.

38.6k
Oct 23, 2026
RepositoryTypeScript
typeorm/typeorm

TypeScript & JavaScript ORM for Node.js — supports PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, Oracle, and more.

36.7k
Oct 15, 2026
RepositoryTypeScript
sequelize/sequelize

Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB, DB2 and DB2 for IBM i.

30.4k
Oct 25, 2026
RepositoryGo
sqlc-dev/sqlc

Generate type-safe code from SQL

18.4k
Oct 26, 2026
RepositoryRust
transact-rs/sqlx

🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.

17.6k
Oct 26, 2026