MST

星途 面试题库

面试题:Node.js 中文件系统与 MySQL 数据库简单交互实现

假设你有一个文本文件,里面每行记录了一个用户的姓名和年龄,格式为'姓名,年龄'。请使用 Node.js 的文件系统模块读取这个文件,并将这些用户信息插入到 MySQL 数据库的 users 表中,表结构为(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)。请写出主要实现代码及关键步骤。
25.2万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试
  1. 安装依赖
    • 首先确保安装了mysql模块,用于连接和操作MySQL数据库。可以在项目目录下运行npm install mysql
  2. 读取文件并插入数据
const fs = require('fs');
const mysql = require('mysql');

// 创建MySQL连接
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'your_database'
});

connection.connect();

// 读取文件
fs.readFile('user.txt', 'utf8', (err, data) => {
  if (err) {
    console.error('读取文件错误:', err);
    return;
  }
  const lines = data.split('\n');
  lines.forEach(line => {
    if (line.trim()!== '') {
      const [name, age] = line.split(',');
      const sql = 'INSERT INTO users (name, age) VALUES (?,?)';
      connection.query(sql, [name, age], (error, results, fields) => {
        if (error) throw error;
        console.log('插入成功');
      });
    }
  });
});

// 结束时关闭连接
connection.end();

上述代码主要步骤:

  • 引入fs(文件系统模块)和mysql模块。
  • 创建MySQL连接,配置连接参数。
  • 使用fs.readFile读取文本文件内容,按行分割数据。
  • 对每一行数据,提取姓名和年龄,构造SQL插入语句并使用connection.query执行插入操作。
  • 最后关闭MySQL连接。注意在实际应用中,还需要处理更多错误情况,如数据库连接失败、插入数据重复等问题。