Fastify 是一个快速轻量级的 Node.js Web 框架,它具有高性能、可扩展性和可组合性等特点,因此在 Web 开发中得到了广泛的应用。MySQL 是一种流行的关系型数据库管理系统,它适用于各种类型的 Web 应用程序。本文将介绍如何在 Fastify 中使用 MySQL 数据库,包括连接数据库、查询数据、插入数据和删除数据等操作。
连接 MySQL 数据库
连接 MySQL 数据库需要使用第三方库,本文使用mysql2
库。步骤如下:
- 安装
mysql2
库
npm install mysql2 --save
- 在项目的代码中引入
mysql2
库
const mysql = require('mysql2');
- 创建数据库连接池,并设置数据库连接的参数
-- -------------------- ---- ------- ----- ---- - ------------------ ----- ------------ ----- ------- --------- ----------- --------- ----------- ------------------- ----- ---------------- --- ----------- - ---
其中,host
是 MySQL 服务的主机名,user
和password
是登录 MySQL 的用户名和密码,database
是数据库的名称。waitForConnections
表示是否等待连接,默认为true
,connectionLimit
表示最大连接数,默认为10
,queueLimit
表示连接队列的最大长度,默认为0
,表示不限制。
- 获取数据库连接对象
const conn = pool.getConnection();
查询数据
查询数据可以使用connection.query
方法,该方法的参数包括 SQL 语句和回调函数。例如,查询users
表中的所有数据:
conn.query('SELECT * FROM `users`', function(err, results, fields) { if (err) throw err; console.log(results); });
插入数据
插入数据可以使用connection.query
方法,使用 INSERT INTO 语句插入数据。例如,向users
表中插入一条数据:
conn.query('INSERT INTO `users` (`name`, `email`) VALUES (?, ?)', ['John', 'john@example.com'], function(err, results, fields) { if (err) throw err; console.log(results.insertId); });
其中,?
表示占位符,对应的值放在数组中传递。results.insertId
表示插入数据后的自增 ID。
更新数据
更新数据可以使用connection.query
方法,使用 UPDATE 语句更新数据。例如,将users
表中 ID 为 1 的数据的名字修改为Mike
:
conn.query('UPDATE `users` SET `name` = ? WHERE `id` = ?', ['Mike', 1], function(err, results, fields) { if (err) throw err; console.log(results.changedRows); });
其中,results.changedRows
表示受影响的行数。
删除数据
删除数据可以使用connection.query
方法,使用 DELETE 语句删除数据。例如,从users
表中删除 ID 为 1 的数据:
conn.query('DELETE FROM `users` WHERE `id` = ?', [1], function(err, results, fields) { if (err) throw err; console.log(results.affectedRows); });
其中,results.affectedRows
表示受影响的行数。
示例代码
下面是一个完整的示例代码,演示如何在 Fastify 中使用 MySQL 数据库:
-- -------------------- ---- ------- ----- ------- - --------------------- ----- ----- - ------------------ -- -------- ----- ---- - ------------------ ----- ------------ ----- ------- --------- ----------- --------- ----------- ------------------- ----- ---------------- --- ----------- - --- ---------------- ------------- ------ - -- --------- ----- ---- - --------------------- -- ---- ------------------ - ---- --------- ------------- -------- ------- - -- ----- ----- ---- -------------------- -- --------- --------------- --- --- ----------------- ------------- ------ - ----- ---- - -------------- ----- ----- - --------------- -- --------- ----- ---- - --------------------- -- ---- ------------------ ---- ------- -------- -------- ------ --- ---- ------ ------- ------------- -------- ------- - -- ----- ----- ---- -------------------- -- --------- --------------- --- --- ------------------- ------------- ------ - ----- -- - -------------- ----- ---- - -------------- -- --------- ----- ---- - --------------------- -- ---- ------------------ ------- --- ------ - - ----- ---- - --- ------ ---- ------------- -------- ------- - -- ----- ----- ---- -------------------- -- --------- --------------- --- --- ---------------------- ------------- ------ - ----- -- - -------------- -- --------- ----- ---- - --------------------- -- ---- ------------------ ---- ------- ----- ---- - --- ----- ------------- -------- ------- - -- ----- ----- ---- -------------------- -- --------- --------------- --- --- -------------------- ------------- -------- - -- ----- - ------------------- ---------------- - ------------------- --------- -- ------------- ---
总结
本文介绍了如何在 Fastify 中使用 MySQL 数据库,包括连接数据库、查询数据、插入数据、更新数据和删除数据等操作。连接 MySQL 数据库需要使用mysql2
库,操作数据库可以使用connection.query
方法,操作完成后需要释放数据库连接对象。通过本文的介绍,你可以掌握使用 Fastify 和 MySQL 开发 Web 应用程序的基本技巧。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64926ef948841e989403e2e5