使用express js和sequelize将csv文件导入mysql数据库的步骤如下:
$ npm init -y
$ npm install express sequelize mysql2 csv-parser
const express = require('express');
const csv = require('csv-parser');
const fs = require('fs');
const { Sequelize, DataTypes } = require('sequelize');
const app = express();
// 设置数据库连接
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'mysql'
});
请替换上述代码中的database
、username
和password
为你自己的MySQL数据库的相关信息。
data
的模型,并定义CSV文件中的数据字段和数据库表结构:const Data = sequelize.define('data', {
name: {
type: DataTypes.STRING,
allowNull: false
},
age: {
type: DataTypes.INTEGER,
allowNull: false
},
email: {
type: DataTypes.STRING,
allowNull: false
}
});
请根据实际的CSV文件和数据库表结构进行字段定义。
app.post('/import', (req, res) => {
fs.createReadStream('data.csv')
.pipe(csv())
.on('data', (row) => {
Data.create({
name: row.name,
age: row.age,
email: row.email
});
})
.on('end', () => {
res.send('CSV file successfully imported.');
});
});
请确保项目根目录下存在名为data.csv
的CSV文件,并根据实际的CSV文件字段调整代码中的属性名。
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
$ node index.js
现在,你可以使用Postman或其他HTTP客户端发送POST请求到http://localhost:3000/import
来导入CSV文件数据到MySQL数据库了。
请注意,以上代码示例为了简化起见省略了错误处理、数据验证和安全性措施,请根据实际需求进行适当的修改和完善。
推荐的腾讯云相关产品:MySQL数据库、云服务器、云函数等。
腾讯云MySQL数据库产品介绍链接地址:https://cloud.tencent.com/product/cdb 腾讯云云服务器产品介绍链接地址:https://cloud.tencent.com/product/cvm 腾讯云云函数产品介绍链接地址:https://cloud.tencent.com/product/scf
领取专属 10元无门槛券
手把手带您无忧上云