在本章中,我们将学习如何使用 mysql2
库与 MySQL 数据库进行交互。我们将涵盖安装、连接数据库、执行查询、处理事务和错误处理等关键主题。
安装 mysql2
首先,我们需要安装 mysql2
库。你可以使用 npm 来安装这个库:
npm install mysql2
创建数据库连接
一旦安装了 mysql2
,我们可以开始创建数据库连接。以下是一个简单的示例:
-- -------------------- ---- ------- ----- ----- - ------------------ -- -------------- ----- ---- - ------------------ ----- ------------ ----- --------------- --------- --------------- --------- -------------- --- -- ------ ------------------------ ----------- -- - -- ----- ----- ---- -- --------- ---------------------- -- --- -------- -- -- - - --------------------- ---
执行简单的查询
创建连接后,我们可以通过连接对象执行 SQL 查询。下面是如何执行一个简单的查询:
pool.query('SELECT 1 + 1 AS solution', function (error, results, fields) { if (error) throw error; console.log(results); // 输出: [ RowDataPacket { solution: 2 } ] });
处理结果集
在上面的例子中,我们已经看到了如何处理结果集。results
是一个数组,其中每个元素都是一个行数据包。我们可以根据需要进一步处理这些数据。
遍历结果集
pool.query('SELECT * FROM users', function (error, results, fields) { if (error) throw error; for (const row of results) { console.log(row); } });
插入数据
插入数据是另一个常见的操作。我们可以使用 INSERT
语句来完成这一任务。
const sql = 'INSERT INTO users (name, email) VALUES (?, ?)'; const values = ['John Doe', 'john.doe@example.com']; pool.query(sql, values, function (error, results) { if (error) throw error; console.log(`Inserted ${results.affectedRows} rows`); });
更新数据
更新数据时,我们可以使用 UPDATE
语句。以下是更新用户信息的一个例子:
const sql = 'UPDATE users SET name = ?, email = ? WHERE id = ?'; const values = ['Jane Doe', 'jane.doe@example.com', 1]; pool.query(sql, values, function (error, results) { if (error) throw error; console.log(`Updated ${results.affectedRows} row(s)`); });
删除数据
删除数据时,我们可以使用 DELETE
语句。以下是删除用户信息的一个例子:
const sql = 'DELETE FROM users WHERE id = ?'; const id = 1; pool.query(sql, id, function (error, results) { if (error) throw error; console.log(`Deleted ${results.affectedRows} row(s)`); });
处理事务
在某些情况下,我们可能需要执行一系列操作,并确保它们要么全部成功,要么全部失败。这就是事务的作用所在。我们可以使用 beginTransaction()
、commit()
和 rollback()
方法来管理事务。
-- -------------------- ---- ------- ----------------------------------- - -- ----- ----- ---- ------------------ ---- ----- ------ ------ ------ --- ---- ------- ------- --------------------------- -------- ------- -------- - -- ------- - ------------------------ - ----- ------ --- - ----- ------ - ----------------- ------------------ ---- ------ --------- ------------- ------ --- ---- -------- ----- -------- ------- -------- - -- ------- - ------------------------ - ----- ------ --- - ------------------------- - -- ----- - ------------------------ - ----- ---- --- - ------------------------ --------- --------------- --- --- --- ---
错误处理
错误处理是任何应用程序的重要组成部分。在与数据库交互时,我们需要确保能够适当地捕获和处理错误。
pool.query('SELECT * FROM non_existent_table', function (error, results, fields) { if (error) { console.error(error); } else { console.log(results); } });
总结
本章介绍了如何使用 mysql2
库与 MySQL 数据库进行基本的 CRUD 操作。我们从安装库开始,然后介绍了如何创建数据库连接、执行查询、处理结果集、插入、更新和删除数据,以及如何处理事务和错误。通过这些基础知识,你应该能够在你的项目中有效地使用 mysql2
。