介绍
sqoosel
是一个轻量级的、基于 Promise 的 SQL 查询构建器。它可以帮助我们更方便地构建 SQL 查询语句。
安装
使用 npm 安装 sqoosel
:
npm install sqoosel
基本使用
使用 sqoosel
的方法如下:
-- -------------------- ---- ------- ------ - -- - ---- ---------- ----- -------- -------- - ----- ----- - -- -------------- -------- -------------- ------------------- ---- ------------ ------------------- -- ------ --- ---- ---- ----- ----- --- - -- - ---------展开代码
这里我们查询了 users
表中 age
大于 18 的用户的 id
和 name
字段。
API
sq.select([fields])
构建 SELECT 语句。
fields
是一个字符串或一个字符串数组,用于指定要查询的字段,默认值为 '*'
。
sq.select('id'); // SELECT id FROM ... sq.select(['id', 'name']); // SELECT id, name FROM ...
sq.from(table)
构建 FROM 子句。
table
是一个字符串,用于指定要查询的表名。
sq.from('users'); // SELECT ... FROM users ...
sq.join(table[, constraint[, type]])
构建 JOIN 子句。
table
是一个字符串,用于指定要连接的表名。
constraint
是一个字符串或一个函数,用于指定连接条件。如果它是一个字符串,它将作为 ON 子句的内容;如果它是一个函数,它将被调用以构建 JOIN 条件。
type
是一个字符串,用于指定 JOIN 类型。它可以是 'INNER'、'LEFT'、'RIGHT' 或 'OUTER',默认为 'INNER'。
sq.join('orders', 'users.id = orders.user_id'); // SELECT ... FROM users JOIN orders ON users.id = orders.user_id ... sq.join('orders', cond => cond.eq('users.id', 'orders.user_id')); // SELECT ... FROM users JOIN orders ON users.id = orders.user_id ...
sq.where(condition)
构建 WHERE 子句。
condition
是一个函数,用于构建 WHERE 条件。
sq.where(cond => cond.eq('age', 18)); // SELECT ... FROM ... WHERE age = 18
sq.orderBy(fields)
构建 ORDER BY 子句。
fields
是一个字符串或一个字符串数组,用于指定排序字段。
sq.orderBy('age'); // SELECT ... FROM ... ORDER BY age ASC sq.orderBy(['age', 'name']); // SELECT ... FROM ... ORDER BY age ASC, name ASC
sq.limit(limit)
指定返回的行数。
limit
是一个数字,用于指定返回的行数。
sq.limit(10); // SELECT ... FROM ... LIMIT 10
sq.offset(offset)
指定返回的起始行数。
offset
是一个数字,用于指定返回的起始行数。
sq.offset(10); // SELECT ... FROM ... OFFSET 10
sq.toString()
将构建好的 SQL 查询语句转换为字符串。
sq.select().from('users').toString(); // SELECT * FROM users
总结
sqoosel
是一个非常实用的工具,它可以帮助我们更轻松地构建 SQL 查询语句。本文介绍了 sqoosel
的基本用法和 API,希望能够帮助大家更好地使用它。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600670a78ccae46eb111f2d7