当前位置:Gxlcms > JavaScript > Node.js往MySQL大量注入数据

Node.js往MySQL大量注入数据

时间:2021-07-01 10:21:17 帮助过:85人阅读

这次给大家带来Node.js往MySQL大量注入数据,Node.js往MySQL大量注入数据的注意事项有哪些,下面就是实战案例,一起来看一下。

1.数据库连接

  1. var mysql = require('mysql');
  2. // 数据库信息
  3. var connection = mysql.createConnection({
  4. host : 'localhost',
  5. user : '数据库用户名',
  6. password : '数据库登录密码',
  7. database : '操作数据库名'
  8. });

将插入数据转换成嵌套数组

例如要插入的两条数据:

记录1:

  1. from:"index"
  2. to:“www.alibaba.com”
  3. status:1
  4. is_new:0

记录2:

  1. from:"index1"
  2. to:"www.google.com"
  3. status:1
  4. is_new:0

转为一下格式:

  1. var values = [
  2. ["index","www.alibaba.com",1,0],
  3. ["index1","www.google.com",1,0]
  4. ];

编写插入语句

  1. var sql = "INSERT INTO url(`from`,`to`,`status`, `is_new`) VALUES ?";

调用query函数完成数据的插入

  1. connection.query(sql, [values], function (err, rows, fields) {
  2. if(err){
  3. console.log('INSERT ERROR - ', err.message);
  4. return;
  5. }
  6. console.log("INSERT SUCCESS");
  7. });

完整代码:

  1. var mysql = require('mysql');
  2. // 数据库信息
  3. var connection = mysql.createConnection({
  4. host : 'localhost',
  5. user : '数据库用户名',
  6. password : '数据库登录密码',
  7. database : '操作数据库名'
  8. });
  9. var values = [
  10. ["index","www.alibaba.com",1,0],
  11. ["index1","www.google.com",1,0]
  12. ];
  13. var sql = "INSERT INTO url(`from`,`to`,`status`, `is_new`) VALUES ?";
  14. connection.query(sql, [values], function (err, rows, fields) {
  15. if(err){
  16. console.log('INSERT ERROR - ', err.message);
  17. return;
  18. }
  19. console.log("INSERT SUCCESS");
  20. });

同时在这里记录一个基于事务的操作(还没有实践,具体效果不详)

用事务循环插入、如果有一条插入失败进行回滚

mysql模块、connection.beginTransaction是做事务

然后我这里封装了一个函数、对传入的数组做循环插入或更新之类的操作、如果有一条失败了就回滚、全对了就commit

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

AngularJS注册表单验证的步奏详解

clipboard.js实现复制功能步奏详解

以上就是Node.js往MySQL大量注入数据的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行