node 封装MySQL增删改查

#封装 增 删 改 查 
const mysql = require("mysql")
    /* 建立链接池 */
const pool = mysql.createPool({
        host: "localhost",
        user: "root",
        password: "root",
        database: "yang",
        queueLimit: 3,
        connectionLimit: 20
    })
    /* 添加查的方法 */
let query = function(sql, callBack) {
        pool.getConnection((err, conn) => {
            if (err) {
                console.log(err);
                return;
            }
            conn.query(sql, (err, data) => {
                if (err) {
                    console.log(err)
                    return
                }
                if (callBack) {
                    callBack(data)
                }
            })
        })
    }
    /* 封装  插入数据的方法 */
let insert = (table, datas, callBack) => {
        /* 拼接*/
        let fields = ""; //字段
        let values = ""; // 值
        for (let k in datas) {
            fields += k + "," //拼接
            values += `'${datas[k]}',`
        }
        /* 清除最后一位 */
        fields = fields.slice(0, -1);
        values = values.slice(0, -1);
        let sql = `INSERT INTO ${table} (${fields}) VALUES (${values})`;
        query(sql, callBack)
    }
    /* 封装删除的方法 */
let del = (table, datas, callBack) => {
    let arr = ["1=1"]; //避免datas为空时,出现异常
    for (const k in datas) {
        arr.push(`${k}='${datas[k]}'`);

    }
    let sql = `delete from ${table} where ${arr.join(" and ")}`
    query(sql, callBack)
}
/**  封装修改的方法
     * 
     * @param {string} table  表名
     * @param {object} sets   修改的字段与值
     * @param {object} wheres  判断条件
     * @param {Function} callBack  回调函数
     */
let undate = (table, sets, wheres, callBack) => {
    /* 新建一个数组 来拼接 */
    let whereArr = ["1=1"] //避免datas为空时,出现异常错误。
    for (let k in wheres) {
        whereArr.push(`${k}='${wheres[k]}'`)
    }
    //准备一个数组,用来拼接 set 子句
    let setArr = [];
    for (const k in sets) {
        setArr.push(`${k} = '${sets[k]}'`)
    }
    let sql = `UPDATE ${table} SET ${setArr.join(",")}  WHERE ${whereArr.join(" and ")}`
    query(sql, callBack)
}
 //暴露出去
module.exports = {
    query,
    insert,
    del,
    undate
}
#调用
const db = require("./db");
/* 查 */
db.query("select * from book", data => {
    console.log(data)
})
/* 新增 */
let book = {
    id: 5,
    name: "哈哈哈",
    price: 22,
    category: "修狗"
}
db.insert("book", book, () => {
    console.log("添加成功")
})
/* 删除 */
db.del("book", { id: 1 })
/* 修改 */
db.undate("book", { price: 300 }, { id: 4 })

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于在 Node.js使用 MySQL 进行增删改查操作,你可以使用以下步骤: 1. 首先,确保你已经安装了 `mysql` 模块。你可以通过在终端中运行以下命令来安装它: ``` npm install mysql ``` 2. 在你的 Node.js 代码中,引入 `mysql` 模块: ```javascript const mysql = require('mysql'); ``` 3. 创建与数据库的连接: ```javascript const connection = mysql.createConnection({ host: '数据库主机名', user: '用户名', password: '密码', database: '数据库名称' }); connection.connect((err) => { if (err) { console.error('数据库连接失败:', err); return; } console.log('数据库连接成功!'); }); ``` 4. 执行 SQL 查询语句: ```javascript const sql = 'SELECT * FROM 表名'; connection.query(sql, (err, results) => { if (err) { console.error('查询失败:', err); return; } console.log('查询结果:', results); }); ``` 5. 执行 SQL 插入、更新或删除语句: ```javascript const insertSql = 'INSERT INTO 表名 (列1, 列2) VALUES (?, ?)'; const insertValues = ['值1', '值2']; connection.query(insertSql, insertValues, (err, result) => { if (err) { console.error('插入失败:', err); return; } console.log('插入成功,插入的行数:', result.affectedRows); }); const updateSql = 'UPDATE 表名 SET 列1 = ? WHERE 列2 = ?'; const updateValues = ['新值', '条件值']; connection.query(updateSql, updateValues, (err, result) => { if (err) { console.error('更新失败:', err); return; } console.log('更新成功,更新的行数:', result.affectedRows); }); const deleteSql = 'DELETE FROM 表名 WHERE 列 = ?'; const deleteValues = ['条件值']; connection.query(deleteSql, deleteValues, (err, result) => { if (err) { console.error('删除失败:', err); return; } console.log('删除成功,删除的行数:', result.affectedRows); }); ``` 6. 最后,记得在完成操作后关闭数据库连接: ```javascript connection.end((err) => { if (err) { console.error('关闭数据库连接失败:', err); return; } console.log('数据库连接已关闭!'); }); ``` 这样,你就可以在 Node.js使用 MySQL 进行增删改查操作了。记得将上述代码中的主机名、用户名、密码、数据库名称、表名、列名、条件值等根据你的实际情况进行替换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值