之前跟后端联调才知道,原来TP框架操作数据库这么方便。为什么我们用Nodejs就要手写SQL语句呢,结果还真让我发现了这个好用的插件mysqls!好东西就要分享给大家!

先放一下插件的链接:

插件作者的博客:https://blog.seosiwei.com/
插件npm地址:https://www.npmjs.com/package/mysqls
插件GitHub地址:https://github.com/wangweianger/mysqls

详细的使用文档可以再GitHub里查阅,我这里仅简单的介绍一下常用的语法


1.安装:

npm install mysqls --save-dev

2.使用

//import
import { init, exec, sql, transaction } from 'mysqls'
 
//require
let { init, exec, sql, transaction } = require('mysqls')

3.mysql配置

// 可在项目的启动时初始化配置
init({
    host: 'localhost',
    user: 'root',
    password:'123456',
    database: 'test',
    port: 3306,
})

4. 参数说明

// 参数说明
sql.table(表名 String)
    .field(要查询的参数 Object)
    .data(要修改/添加的参数 Object)
    .where(条件 Object)
    .select() // .update() .insert() .delet()
    .exec() // 执行SQL语句,加这个的话上面的select等要在括号中加入true

5. 不同的调用方式

//  Promise 方式
sql.table('database').field('id,name').where({id:1}).select(true).exec().then(result=>{
   // do something
})
// await 方式
const result = await sql.table('database').where({id:1}).select(true).exec()

6. 增删改查

//增
sql
    .table('database')
    .data({name:'xx',email:'xxx@qq.com'})
    .insert()
// 删
sql .table('database')
    .where({name:'xx'})
    .delet();
// 改
sql
    .table('database')
    .data({name:'xx',mail:'xx@qq.com'})
    .update()
// 查
sql
    .table('database')
    .field('id,name')
    .where({id:1})
    .select()

7. 表达式查询和组合查询

.where({
    id:{eq:100,egt:10,_type:'or'}, 
    // 默认使用and连接,传入参数 _type='or' 可更改为or条件
    // 表达式见下方table
    name:'xxx',
})

8. 最后介绍一下表达式(单纯为了方便看,GitHub太不稳定了)

表达式含义
eq等于(=)
neq不等于(<>)
gt大于(>)
egt大于等于(>=)
lt小于(<)
elt小于等于(<=)
like模糊查询
(not)between(不在)区间查询
(not)in(不在)IN 查询

更详细的教程可以查阅GitHub上的文档:https://github.com/wangweianger/mysqls/tree/master/docs

最后修改:2021 年 03 月 31 日 02 : 23 PM
如果觉得我的文章对你有用,请随意赞赏