使用node模块 操作MySQl数据库

本文展示了如何在Node.js环境中安装并配置MySQL,以及执行基本的数据库操作,包括查询、插入、更新和删除记录。使用`mysql`模块创建连接池,通过`query`方法执行SQL语句,并检查`affectedRows`来确认操作是否成功。
摘要由CSDN通过智能技术生成

配置

安装

cnpm install mysql

链接

const mysql = require('mysql')
const db = mysql.createPool({
    host: '127.0.0.1',
    user: 'root',
    password: 'root',
    database: 'books'

})

查询

const sqlStr = 'select * from book'
db.query(sqlStr, (err, results) => {
    if (err) return console.log(err.message);
    console.log(results);

})

插入

// 新增一条数据
const book = {
    id: 353,
    bookname: 'hhhhh',
    readname: 'slx',
    date: '2002.6.7',
    price: '63.4'
}

// 待执行的sql语句
const sqlStr = 'insert into book(id,bookname,readname,date,price) values (?,?,?,?,?)'
//问号是 占位符 []
// 执行sql
db.query(sqlStr, [book.id, book.bookname, book.readname, book.date, book.price], (err, results) => {
    if (err) return console.log(ree.message);//  fail

    if (results.affectedRows == 1) {  // 返回对象 包含affectedRows 来判断插入是否成功
        console.log(results);
    }

})

便捷方式

const book = {
    id: 753,
    bookname: 'tttt',
    readname: 'srr',
    date: '2002.6.7',
    price: '63.4'
}


const sqlStr = 'insert into book set ?'// !!!!!


db.query(sqlStr, book, (err, results) => {// !!!!!
    if (err) return console.log(ree.message);//  fail

    if (results.affectedRows == 1) {  
        console.log(results);
    }

})

更新

const book2 = {
    id: 753,
    bookname: 'tttt',
    readname: 'pol',

}


const sqlStr = 'update book set bookname=?,readname=? where id=?'// !!!!!


db.query(sqlStr, [book2.bookname, book2.readname, book2.id], (err, results) => {// !!!!!
    if (err) return console.log(ree.message);//  fail

    if (results.affectedRows == 1) {
        console.log(results);
    }
})

便捷方式


const book3 = {
    id: 222,
    bookname: 'cao',
    readname: 'md',
    date: '1999.6.3',
    price: '796.33'

}

const sqlStr = 'update book set ? where id=?'// !!!!!

db.query(sqlStr, [book3, book3.id], (err, results) => {// !!!!!
    if (err) return console.log(ree.message);//  fail

    if (results.affectedRows == 1) {
        console.log(results);
    }
})

删除

彻底删除(有些危险)

const sqlStr = 'delete from book where id=?'// !!!!!

db.query(sqlStr, 353, (err, results) => {// !!!!!
    if (err) return console.log(ree.message);//  fail

    if (results.affectedRows == 1) {
        console.log(results);
    }
})

标记删除

数据库中设置status

const sqlStr = 'update book set status=? where id=?'// !!!!!

db.query(sqlStr, [1, 753], (err, results) => {// !!!!!
    if (err) return console.log(ree.message);//  fail

    if (results.affectedRows == 1) {
        console.log(results);
    }
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值