一 、封装SQL查询请求链接
const mysql = require('mysql')
//创建开发工具数据库链接池
const pool = mysql.createPool({
host: '192.168.1.133',
user: 'user_name',
password: '123456',
database: 'database_name',
port: '3306',
connectionLimit: 50 // 限制连接数
});
// sql:查询的sql语句,Params 查询参数(可为空“ ”)
public queryDataBase(sql, Params) {
return new Promise((resolve, reject) => {
pool.getConnection(function (err, connection) {
if (err) {
reject(err)
} else {
connection.query(sql, Params, (err, rows) => {
if (err) {
reject(err)
} else {
resolve(rows)
}
// 结束会话
connection.release();
})
}
})
})
}
二 、使用
1. 新增
(1) 新增(insert)一行
// SQL 格式
const InsertSQl = "insert into tb_users(id,name,age) values(?,?,?)";
// 参数格式
const params= [1,"小华",11,];
// 执行插入操作
await queryDataBase(InsertSQl,params);
在另外一篇文章还看到下面这种方式,还未验证过。先放到这里(根据这种方式还可以尝试一下另一种批量新增方式)。
const param= { name: '小华', age: '17' }
const sqlStr = 'insert into users set ?'
(2)批量新增
// 需要插入的数据(数组里面是数组)--格式
const params =[
[1,'小明',19],[2,'小雯',29],[3,'小华',16]
];
// 执行SQL
await queryDataBase("insert into tb_users(id,name,age) values ? ; ",[params]);
2. 删除
(1) 删除单行
// SQL格式
const deleteSQl = "delete from tb_users where name = ?";
// 参数格式
const params= ["小华"];
// 执行删除操作
await queryDataBase(deleteSQl ,params);
(2) 批量删除
// 参数格式
const params= [('小华',17),('小雯',29),('小明',20)];
// SQL格式
const deleteSQl = "delete from tb_users where (name,age) in ( params.join(",") ); ";
// 执行删除操作
await queryDataBase(deleteSQl ,"");
3. 修改
// SQL格式
const updateSql= "update tb_users set name=?,age=? where id= ?";
// 参数格式
const params= ["小华",17,1];
// 执行修改操作
await queryDataBase(updateSql,params);
另外看到的方式(用这种方式可以尝试一下批量修改)
const params= { id: 1, name: '小明', age: '14' }
const sqlStr = 'update users set ? where id=?'
await queryDataBase(sqlStr ,[params,params.id]);
4. 查询
// SQL格式
const selectSql= "select * from tb_users where name=? and age=? ";
// 参数格式
const params= ["小华",17];
// 执行修改操作
const info = await queryDataBase(selectSql,params);
// 转化查出来的数据格式
const _info = JSON.parse(JSON.stringify(info ));