Node.js-MySQL数据库:与MySQL连接、增删改查

上篇介绍了MySQL数据库的安装,本篇介绍Node.js服务器如何连接MySQL,并实现增删改查数据库表记录。

新建项目,并安装mysql2数据库驱动模块。

代码如下:

/**
 * MySQL数据库操作
 */

const util = require("util");

//加载数据库驱动模块
const mysql = require("mysql2");

//----------------使用连接操作--------------
//创建数据连接
const connection = mysql.createConnection({
    host:"localhost",//数据库地址
    user:"root",//用户名
    password:"wlq0MySQL@",//密码
    database:"studentdb"//数据库名称
});

//开启连接
connection.connect(function(err){
    if(err)
    {
        console.error("数据库连接错误:"+err.message);
        return;
    }

    console.log("数据库连接成功,连接ThreadID="+connection.threadId);   
});

//查询1:query(sqlString, callback)
connection.query("select * from student where Id=1001",(err,results,fields)=>{
   if(err) throw err;
   console.log("=======查询方式1========");
//    console.log("查询字段:"+util.inspect(fields));
   console.log(util.inspect(results)); 
});

//查询2:query(sqlString, values, callback)
connection.query("select * from student where Id=?",[1002],(err,results,fields)=>{
    if(err) throw err;
    console.log("=======查询方式2==========");
    console.log(util.inspect(results));
});

//查询3:query(options, callback)
connection.query({sql:"select * from student where Id=?",timeout:30000,values:[1003]},(err,results,fields)=>{
    if(err) throw err;
    console.log("=======查询方式3==========");
    console.log(util.inspect(results));   
});

//添加方式1
connection.query("insert into student set ?",{Id:1005,Name:"July",Age:23,Weight:45.5},(err,results)=>{
   if(err) throw err;
   console.log("======插入数据成功========");   
});

//添加方式2
connection.query("insert into student (Id,Name,Age,Weight) values(?,?,?,?)",[1006,"Wol",23,65.4],(err,result)=>{
    if(err) throw err;
    console.log("=====数据插入成功====");
});

//删除
connection.query("delete from student where id=1006",(err,result)=>{
    if(err) throw err;
    console.log("删除记录成功!");
});


//修改
connection.query("update student set Age=?,Weight=? where Id=?",[16,35.8,1001],(err,result)=>{
    if(err) throw err;
    console.log("数据修改成功");
});

//终止连接
connection.end((err)=>{
    console.log("数据库连接终止!");
});

// //终止连接2
// connection.destroy();

//-----------------使用连接池【增删改查】----------------
const pool = mysql.createPool({
    host:"localhost",//数据库地址
    user:"root",//用户名
    password:"wlq0MySQL@",//密码
    database:"studentdb",//数据库名称
    waitForConnections: true,
    connectionLimit: 10,
    queueLimit: 0
});
//查询
pool.query("select * from student",(err,results,fields)=>{
    if(err) throw err;
    console.log("===使用连接池查询======");
    console.log(util.inspect(results));
});

//其他的略

数据库内原有手动添加的数据记录 

 

 运行结果如下:【注意】屏蔽某些代码接口,测试对应的API功能。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Data菌

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

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

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

打赏作者

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

抵扣说明:

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

余额充值