最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

Nodejs向MySQL数据库中插入单条或多条数据的方法_nodejs批量插入数据

JS/CSS 太平洋学习网 浏览 评论

在nodejs中我们如何向mysql数据库插入单条或多条数据呢?或者说nodejs如何向mysql批量插入数据呢? 我们都知道插入数据使用的是mysql的“INSERT INTO”语句,下面先来看看如何使用nodejs向mysql插入单条数据,请看nodejs mysql的使用示例,向customer表插入一条数据:

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  var sql = "INSERT INTO customers (name, address) VALUES ('zhangsan', 'beijing')";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("1 record inserted");
  });
});

例如将上方的代码保存到demo_db_insert.js文件中,进入到所存目录中,然后使用nodejs命令运行上面的js文件,命令如下:

C:\Users\YourName>node demo_db_insert.js

以上nodejs输出的结果为:

Connected!
1 record inserted

如何使用nodejs向mysql中插入多条数据呢,我们需要把mysql插入语句改成如下这样,values的值应该用“?”来代替,:

INSERT INTO customers (name, address) VALUES ?

请看示例:

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  var sql = "INSERT INTO customers (name, address) VALUES ?";
  var values = [
    ['John', 'Highway 71'],
    ['Peter', 'Lowstreet 4'],
    ['Amy', 'Apple st 652'],
    ['Hannah', 'Mountain 21'],
    ['Michael', 'Valley 345'],
    ['Sandy', 'Ocean blvd 2'],
    ['Betty', 'Green Grass 1'],
    ['Richard', 'Sky st 331'],
    ['Susan', 'One way 98'],
    ['Vicky', 'Yellow Garden 2'],
    ['Ben', 'Park Lane 38'],
    ['William', 'Central st 954'],
    ['Chuck', 'Main Road 989'],
    ['Viola', 'Sideway 1633']
  ];
  con.query(sql, [values], function (err, result) {
    if (err) throw err;
    console.log("Number of records inserted: " + result.affectedRows);
  });
});

从上面的执行语句可以看出,我们把上方values的问号“?”部分的值用[myValues]来代替,当我们使用nodejs命令运行上方的文件,就可以将数据批量插入到mysql数据库中了,输出如下结果:

Connected!
Number of records inserted: 14

其实result的完整结果是这样的,只是小编取了其中一个“affectedRows”字段的值而已:

{
  fieldCount: 0,
  affectedRows: 14,
  insertId: 0,
  serverStatus: 2,
  warningCount: 0,
  message: '\'Records:14  Duplicated: 0  Warnings: 0',
  protocol41: true,
  changedRows: 0
}


来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/js_css/609.html
"文章很值,打赏犒劳作者一下"
微信号: Javaweb_engineer

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

与本文相关的文章

发表我的评论
取消评论

表情

您的回复是我们的动力!

  • 昵称 (必填)

网友最新评论