微信登录

SQL 查询 - 数据插入 - 向数据库插入数据

Node.js SQL 查询 - 数据插入 - 向数据库插入数据

在现代的 Web 应用开发中,与数据库进行交互是非常常见的需求。Node.js 作为一个强大的服务器端 JavaScript 运行环境,为我们提供了方便的方式来与各种数据库进行交互。本文将详细介绍如何使用 Node.js 向数据库插入数据,这里以 MySQL 数据库为例进行演示。

准备工作

在开始之前,我们需要确保已经安装了 Node.js 和 MySQL 数据库。同时,我们需要安装 mysql2 这个 Node.js 模块,它是一个快速的 MySQL 驱动程序。可以使用以下命令进行安装:

  1. npm install mysql2

建立数据库连接

首先,我们需要建立与 MySQL 数据库的连接。以下是一个简单的示例代码:

  1. const mysql = require('mysql2');
  2. // 创建数据库连接
  3. const connection = mysql.createConnection({
  4. host: 'localhost',
  5. user: 'your_username',
  6. password: 'your_password',
  7. database: 'your_database'
  8. });
  9. // 连接到数据库
  10. connection.connect((err) => {
  11. if (err) {
  12. console.error('Error connecting to database: ', err);
  13. return;
  14. }
  15. console.log('Connected to the database!');
  16. });

在上述代码中,我们使用 mysql2 模块创建了一个数据库连接对象,并通过 connect 方法连接到数据库。如果连接成功,将在控制台输出 Connected to the database!

向数据库插入数据

接下来,我们将向数据库中的表插入数据。假设我们有一个名为 users 的表,其结构如下:
| 字段名 | 类型 | 描述 |
| —— | —— | —— |
| id | INT | 用户 ID,自增主键 |
| name | VARCHAR(255) | 用户姓名 |
| email | VARCHAR(255) | 用户邮箱 |

以下是向 users 表插入数据的示例代码:

  1. // 要插入的数据
  2. const user = {
  3. name: 'John Doe',
  4. email: 'johndoe@example.com'
  5. };
  6. // 插入数据的 SQL 语句
  7. const sql = 'INSERT INTO users (name, email) VALUES (?,?)';
  8. // 执行 SQL 语句
  9. connection.query(sql, [user.name, user.email], (err, results) => {
  10. if (err) {
  11. console.error('Error inserting data: ', err);
  12. return;
  13. }
  14. console.log('Data inserted successfully! Inserted ID: ', results.insertId);
  15. });
  16. // 关闭数据库连接
  17. connection.end((err) => {
  18. if (err) {
  19. console.error('Error closing database connection: ', err);
  20. return;
  21. }
  22. console.log('Database connection closed.');
  23. });

在上述代码中,我们首先定义了要插入的数据对象 user,然后使用 ? 占位符构建了一个插入数据的 SQL 语句。接着,我们使用 query 方法执行 SQL 语句,并将数据作为参数传递给 query 方法。如果插入成功,将在控制台输出插入数据的 ID。最后,我们使用 end 方法关闭数据库连接。

批量插入数据

有时候,我们需要一次性插入多条数据。以下是一个批量插入数据的示例代码:

  1. // 要插入的多条数据
  2. const users = [
  3. { name: 'Alice', email: 'alice@example.com' },
  4. { name: 'Bob', email: 'bob@example.com' },
  5. { name: 'Charlie', email: 'charlie@example.com' }
  6. ];
  7. // 构建插入数据的 SQL 语句
  8. const sql = 'INSERT INTO users (name, email) VALUES?';
  9. // 提取数据数组
  10. const values = users.map(user => [user.name, user.email]);
  11. // 执行 SQL 语句
  12. connection.query(sql, [values], (err, results) => {
  13. if (err) {
  14. console.error('Error inserting data: ', err);
  15. return;
  16. }
  17. console.log('Data inserted successfully! Inserted rows: ', results.affectedRows);
  18. });
  19. // 关闭数据库连接
  20. connection.end((err) => {
  21. if (err) {
  22. console.error('Error closing database connection: ', err);
  23. return;
  24. }
  25. console.log('Database connection closed.');
  26. });

在上述代码中,我们定义了一个包含多个用户对象的数组 users,然后使用 map 方法提取每个用户的 nameemail 字段,构建一个二维数组 values。接着,我们使用 ? 占位符构建了一个批量插入数据的 SQL 语句,并将 values 数组作为参数传递给 query 方法。如果插入成功,将在控制台输出受影响的行数。

总结

通过本文的介绍,我们学习了如何使用 Node.js 和 mysql2 模块向 MySQL 数据库插入数据。主要步骤包括建立数据库连接、构建插入数据的 SQL 语句、执行 SQL 语句和关闭数据库连接。同时,我们还介绍了如何批量插入数据。希望本文对你有所帮助!

以上就是关于 Node.js 向数据库插入数据的详细介绍,你可以根据自己的需求进行相应的调整和扩展。

SQL 查询 - 数据插入 - 向数据库插入数据