SQL 模板

本指南假设您熟悉

SQL 模板是 Waddler 的核心。

import { waddler } from "waddler";

const sql = waddler({ dbUrl: ":memory:" });

await sql`select 1`;

它基于 标记模板。这使得在 JavaScript 和 TypeScript 中实现功能强大、安全且简单的 SQL API 成为可能

await sql`select * from users where id = ${10}`; 
// ^ gets parametrised, protects from SQL injections
select * from users where id = $1;
-- 10 will be provided in params [10]

SQL 模板提供了许多方便实用的功能

sql.identifier方便地将标识符传递给 SQL 查询,并自动转义
sql.values方便地将值传递给 INSERT 语句
sql.raw通过嵌入原始字符串动态构建 SQL
sql.defaultSQL 查询的 `DEFAULT` 值
toSQL准备并将 SQL 查询转换为 `{ query: string, params: any[] }`
stream逐行流式传输结果
chunked以分块形式流式传输结果