这次在做一个 nodeJs 数据采集工具时遇到了要批量处理 SQL 语句中的 insert info 语句,原先一直用 knex.js 这个依赖库来处理 SQL 的操作,但这次发现 knex.js 在处理批量 insert 的 SQL 语句时使不上劲,正确的批量 insert 语句在管理工具中可以正常使用,可在 knex.js 却始终翻车。于是乎只能用原生依赖库 mysql 来处理。不过在使用 knex.js 发现了 mysql2 这个依赖库,而且也没有用过,所以拿来尝新了一下。它的使用和 mysql 依赖库没有大的差别。
回到主题,本篇就记录下如何用 mysql2 来处理批量 SQL。
1、安装
npm install --save mysql2
2、引用依赖库
const mysql = require('mysql2');
3、配置相关参数信息
var connParam = {
host : 'localhost',
user : 'root ',
password : 'root',
port : '3306',
database : 'testdb',
multipleStatements: true
};
为了安全起见,默认情况下是不允许执行多条查询语句的。要使用多条查询语句的功能,就需要在创建数据库连接的时候打开这一功能:
var connection = mysql.createConnection( { multipleStatements: true } );
4、处理批量 SQL 的示例代码
connection.query('select column1; select column2; select column3;', function(err, result){
if(err){
throw err;
}else{
console.log(result[0]); // Column1 as a result
console.log(result[1]); // Column2 as a result
console.log(result[2]); // Column3 as a result
}
});
NPM MySQL2 :
https://www.npmjs.com/package/mysql2
转载请注明:隨習筆記 » 用 mysql2 处理批量的SQL语句