之前跟后端联调才知道,原来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