mysql 在nodejs中的简单使用(增删改查)
一 、封装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 ));