node·请求MySQL增删查改
node·请求MySQL
1】创建公共数据库信息文件 db.js
// 1. 导入 mysql 模块 const mysql = require('mysql') // 2. 建立与 MySQL 数据库的连接关系 const db = mysql.createPool({ host: '127.0.0.1', // 数据库的 IP 地址 user: 'root', // 登录数据库的账号 password: '123456', // 登录数据库的密码 database: 'test', // 指定要操作哪个数据库 }) // 测试 mysql 模块能否正常工作 db.query('select 1', (err, results) => { // mysql 模块工作期间报错了 if (err) return console.log(err.message) // 能够成功的执行 SQL 语句 console.log(results);// [ RowDataPacket { '1': 1 } ] }) //封装异步方法涵 // 这里接收第二参数values的原因是可以使用mysql的占位符 '?' // 比如 query(`select * from my_database where id = ?`, [1]) let query = function(sql, values) { //sql语句,values占位符 // 返回一个 Promise return new Promise((resolve, reject) => { db.getConnection(function(err, connection) { if (err) { reject(err) } else { connection.query(sql, values, (err, rows) => { if (err) { reject(err) } else { resolve(rows) } // 结束会话 connection.release() }) } }) }) //使用方法,在接口js文件中 // api.post('/login', async (req, res) =>{ // // 这里可以同步获取到rows // let rows = await query('select * from im_user') // ctx.body = { // code: 0, // msg: '请求成功', // data: rows // } // }) } module.exports = { db, query }; //暴露出属性
2】创建查询或业务文件 test.js
var db = require('./db'); //引用db.js 暴露的属性
var db = require('./db'); //引用db.js 暴露的属性 // 查询 cnPL5_list 表中所有的数据 const sqlStr = 'select * from cnPL5_list' db.query(sqlStr, (err, results) => { // 查询数据失败 if (err) return console.log(err.message) // 查询数据成功 // 注意:如果执行的是 select 查询语句,则执行的结果是数组 console.log(results) })
// 插入数据的便捷方法 var user = { id: '2022000', date: '2022-00-00' } // 定义待执行的 SQL 语句 var sqlStr = 'insert into cnPL5_list set ?' // 执行 SQL 语句 db.query(sqlStr, user, (err, results) => { if (err) return console.log(err.message) if (results.affectedRows === 1) { console.log('插入数据成功') } })
// 删除 id 为 2022000 的用户 var id = '2022000'; var sqlStr = 'delete from cnPL5_list where id=?'; db.query(sqlStr, id, (err, results) => { if (err) return console.log(err.message) // 注意:执行 delete 语句之后,结果也是一个对象,也会包含 affectedRows 属性 if (results.affectedRows === 1) { console.log('删除数据成功') } })
// 更新数据的便捷方法 var user = { id: '2022000', date: '2022-00-11' } // 定义 SQL 语句 var sqlStr = 'update cnPL5_list set ? where id=?' // 执行 SQL 语句 db.query(sqlStr, [user, user.id], (err, results) => { if (err) return console.log(err.message) if (results.affectedRows === 1) { console.log('更新数据成功') } })
1,079 Views