node.js中配置mysql配置

导入mysql模板,并配置。host为ip地址;user登录数据库的账户;password登录数据库的密码;database是数据库的名称

// 导入mysql模板
const mysql=require('mysql')
const db=mysql.createPool({
    host:'127.0.0.1',
    user:'root',
    password:'admin123',
    database:'my_db_01',
})

测试配置mysql是否成功 ,SELECT 1这儿可以输入任意值

db.query('SELECT 1',(err,results)=>{
    if(err) return console.log(err.message)
    console.log(results)

 终端输入node 加文件的项目。出现一下的情况说明配置成功。

 查询数据库中users表中的数据

const sqlstr='select * from users'
db.query(sqlstr,(err,results)=>{
    if(err) return console.log(err.message);
    // 执行的结果是数组
    console.log(results);
})

 输入node加文件名执行

  插入数据:向users表中,新增一条数据

const user={username:'Tony',password:'pcc123'}
// 定义待执行的sql语句
const sqlStr='insert into users(username,password) values(?,?)'
// 执行sql语句
db.query(sqlStr,[user.username,user.password],(err,results)=>{
    if(err) return console.log(err.message)
// 如果执行的是insert into 插入语句,那么执行results是个对象
// 可以通过affectedRows来判断
    if(results.affectedRows===1) {
        console.log("插入数据成功");
    }
})

node加文件名执行文件

 数据库中users表新增的smart

插入数据的便捷方法

数据对象的每个属性和数据表的字段一一对应,那么可以使用下列方法

const user={username:'quit',password:'pcc123'}
// 定义待执行的sql语句
const sqlStr='insert users set ?'
// 执行sql语句
db.query(sqlStr,user,(err,results)=>{
    if(err) return console.log(err.message);
    if(results.affectedRows===1){
        console.log("插入数据成功");
    }

})

node加文件名执行文件,成功后会输入插入数据成功。如上图

数据库中增加了quit这行数据

 更新用户数据的两种方法

  1. const user={id:5,username:'smart',password:'123456'}
    // 定义sql语句
    const sqlStr='update users set username=?,password=? where id=?'
    // 执行sql语句
    db.query(sqlStr,[user.username,user.password,user.id],(err,results)=>{
        if(err) return console.log(err.message);
        if(results.affectedRows===1){
            console.log("更新数据成功")
        }
    })
    
  2.  const user={id:5,username:'jood',password:'abcbca'}
    const sqlStr='update users set ? where id=?'
    db.query(sqlStr,[user,user.id],(err,results)=>{
        if(err) return console.log(err.message);
        if(results.affectedRows===1){
            console.log("更新数据成功")
        }
    })

删除数据的两种方法

const sqlStr='delete from users where id=?'
// 一个占位符可以省略数组
db.query(sqlStr,7,(err,results)=>{
    if(err) return console.log(err.message);
    if(results.affectedRows===1){
        console.log("数据删除成功")
    }
})

数据库展示

 一般采用标记删除的方法对数据进行处理

// 推荐使用标记删除的方法,模拟删除
const sqlStr='update users set status=? where id=?'
db.query(sqlStr,[1,4],(err,results)=>{
    if(err) return console.log(err.message);
    if(results.affectedRows===1){
        console.log("标记删除成功")
    }
    })

展示最终所有代码

// 导入mysql模板
const mysql=require('mysql')
const db=mysql.createPool({
    host:'127.0.0.1',
    user:'root',
    password:'admin123',
    database:'my_db_01',
})
// 测试mysql能否正常工作

/* db.query('SELECT 1',(err,results)=>{
    if(err) return console.log(err.message);
    console.log(results);
}) */
// 查询users表中所有的数据
/* const sqlstr='select * from users'
db.query(sqlstr,(err,results)=>{
    if(err) return console.log(err.message);
    // 执行的结果是数组
    console.log(results);
})
 */


// 向users表中,新增一条数据
/* const user={username:'smart',password:'pcc123'}
// 定义待执行的sql语句
const sqlStr='insert into users(username,password) values(?,?)'
// 执行sql语句
db.query(sqlStr,[user.username,user.password],(err,results)=>{
    if(err) return console.log(err.message)
// 如果执行的是insert into 插入语句,那么执行results是个对象
// 可以通过affectedRows来判断
    if(results.affectedRows===1) {
        console.log("插入数据成功");
    }
}) */

// 插入数据的便捷方法
// 数据对象的每个属性和数据表的字段一一对应,那么可以使用下列方法
/* const user={username:'quit',password:'pcc123'}
// 定义待执行的sql语句
const sqlStr='insert users set ?'
// 执行sql语句
db.query(sqlStr,user,(err,results)=>{
    if(err) return console.log(err.message);
    if(results.affectedRows===1){
        console.log("插入数据成功");
    }

})
 */

// 更新用户数据
/* const user={id:5,username:'smart',password:'123456'}
// 定义sql语句
const sqlStr='update users set username=?,password=? where id=?'
// 执行sql语句
db.query(sqlStr,[user.username,user.password,user.id],(err,results)=>{
    if(err) return console.log(err.message);
    if(results.affectedRows===1){
        console.log("更新数据成功")
    }
}) */


// 更新数据的简便方式
/* console.log("正在更新数据....");
setTimeout(() => {
    const user={id:5,username:'jood',password:'abcbca'}
const sqlStr='update users set ? where id=?'
db.query(sqlStr,[user,user.id],(err,results)=>{
    if(err) return console.log(err.message);
    if(results.affectedRows===1){
        console.log("更新数据成功")
    }
})
}, 2000); */


// 删除数据
/* const sqlStr='delete from users where id=?'
// 一个占位符可以省略数组
db.query(sqlStr,7,(err,results)=>{
    if(err) return console.log(err.message);
    if(results.affectedRows===1){
        console.log("数据删除成功")
    }
}) */


// 标记删除
// 推荐使用标记删除的方法,模拟删除
const sqlStr='update users set status=? where id=?'
db.query(sqlStr,[1,4],(err,results)=>{
    if(err) return console.log(err.message);
    if(results.affectedRows===1){
        console.log("标记删除成功")
    }
    })

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FOREVER-Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值