@ labinative/db
有 SQLite 、 PostgreSQL 和 Cloudflare D1 适配器的流利 SQL 查询构建器
部分 基础 生态系统——一个基于信号的网络运行时间超过本土的HTML.
安装
npm install @basenative/db
可选适配器依赖性( 只安装您需要的) :
npm install better-sqlite3 # SQLite
npm install pg # PostgreSQL
快速启动
import { select, insert, update, deleteFrom, createSqliteAdapter } from '@basenative/db';
const db = createSqliteAdapter({ filename: './data.db' });
// SELECT
const { sql, params } = select('users')
.columns('id', 'name', 'email')
.where('active = ?', true)
.orderBy('name')
.limit(20)
.build();
const users = await db.query(sql, params);
// INSERT
const q = insert('users').values({ name: 'Alice', email: '[email protected]' }).build();
await db.run(q.sql, q.params);
// UPDATE
const u = update('users').set({ name: 'Alicia' }).where('id = ?', 1).build();
await db.run(u.sql, u.params);
// DELETE
const d = deleteFrom('users').where('id = ?', 1).build();
await db.run(d.sql, d.params);
API 密码
查询构建器
所有建筑商都生产 { sql, params } 通过 .build()。所有值都经过 ? 占位符 — 没有字符串插入.
select(table)——流利SELECT建设者..columns(...cols)— 要选择的列( 默认)*) (中文(简体) )..where(condition, ...params)添加条款(与和)..join(table, on)编号 :.leftJoin(table, on)——增加JOIN条款..orderBy(column, direction?)- 添加顺序..limit(n)编号 :.offset(n)添加LIMIT/OFFSET.
insert(table)——流利的INSERT建设者..values(object)——设置列/值对.
update(table)——流畅更新建设者..set(object)——设置列/值对..where(condition, ...params)- 添加一个条款.
deleteFrom(table)——流利地德莱特建设者..where(condition, ...params)- 添加一个条款.
raw(sql, params?)——有明确参数的任意SQL出舱.
适配器
createSqliteAdapter(options)使用 SQLite 适配器better-sqlite3选项:filename。 。 。 .createPostgresAdapter(options)- 使用 PostgreSQL 适配器pg。选项:连接配置.createD1Adapter(binding)——云浮D1适配器. 通过 D1 绑定从env.DB。 。 。 .validateAdapter(adapter)——验证适配器执行需要的接口.
移徙
migrate(db, options)——运行待移民.rollback(db, options)——将最后一批应用的迁移批回放.
许可证
阿帕奇 - 2.0