下面我会给出Node.js中向MySQL数据库插入批量数据的完整攻略,包括MySQL的连接、创建和插入数据的过程。
连接MySQL数据库
在Node.js中连接MySQL数据库,需要使用第三方库mysql
来实现。首先需要在项目目录下安装该库:
npm install mysql
安装完成后,在需要连接MySQL的文件中引入该库:
const mysql = require('mysql');
设置连接信息,包括数据库的名称、用户名、密码等:
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '123456',
database: 'test'
});
这里的test
为你所连接的数据库名称。然后通过connection.connect()
方法进行连接:
connection.connect();
创建数据表
在插入数据之前需要先创建数据表。下面是一个示例的创建数据表的SQL语句:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
在连接MySQL数据库之后,执行该SQL语句创建一个名为user
的数据表。
插入批量数据
使用MYSQL库提供的API函数,可方便地实现批量插入数据操作,代码如下:
const data = [
['Jack', 'jack@gmail.com'],
['Lily', 'lily@gmail.com'],
['Lucy', 'lucy@gmail.com']
];
const sql = 'INSERT INTO user(name, email) VALUES ?';
connection.query(sql, [data], function (err, results) {
if (err) {
console.error(err);
} else {
console.log('插入成功:', results);
}
});
其中,data
数组存放了多个数据行的信息,每个数据行也是一个数组,用来对应每个字段的值。然后,构造SQL语句,其中使用VALUES ?
来占位。在调用查询函数时,将data
作为参数传入,即可完成多行数据的插入操作。如果出现错误,则会在err
中返回错误信息。如果操作成功,则会在results
中返回操作影响的行数。
除了上面的方法外,还可以使用循环插入的方式,具体代码如下:
for (let i = 0; i < data.length; i++) {
connection.query('INSERT INTO user(name, email) VALUES ?', [data[i]], function (err, result) {
if (err) {
console.error(err);
} else {
console.log('插入成功:', result);
}
});
}
该方法将数据行一行一行地插入数据库中。这种方式的优点是可以对每一条数据进行处理,比较适用于数据量较小的情况。
结束连接
操作完成后,需要记得关闭数据库连接:
connection.end(function (err) {
if (err) {
console.error(err);
} else {
console.log('数据库连接已关闭。');
}
});
以上就是在Node.js下向MySQL数据库插入批量数据的方法的详细说明,希望可以帮助到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Node.js下向MySQL数据库插入批量数据的方法 - Python技术站