简介
Express.js 是一个流行的 Node.js Web 应用程序框架,它提供了许多有用的功能,如路由、中间件、模板引擎等。在许多 Web 应用程序中,需要与数据库进行交互来存储和检索数据。MySQL 是一个流行的关系型数据库管理系统,它可以轻松地与 Express.js 集成,以便在应用程序中使用。
在本教程中,我们将学习如何使用 Express.js 和 MySQL 数据库进行交互。我们将使用 Node.js 的 mysql2 模块来访问 MySQL 数据库,并使用 Express.js 路由和处理程序来处理 HTTP 请求和响应。
安装和设置
在开始之前,我们需要安装和设置一些东西。
安装 Node.js 和 MySQL
首先,我们需要安装 Node.js 和 MySQL。您可以从官方网站下载 Node.js 和 MySQL。安装过程与其他软件的安装过程类似,因此我不会在这里详细说明。
安装 mysql2 模块
接下来,我们需要安装 mysql2 模块。mysql2 模块是一个 Node.js 模块,用于与 MySQL 数据库进行交互。您可以使用以下命令在终端中安装 mysql2 模块:
npm install mysql2
创建数据库和表
在继续之前,我们需要创建一个数据库和一个表。您可以使用以下 SQL 语句创建一个数据库和一个表:
-- -------------------- ---- ------- ------ -------- ---------------- --- ---------------- ------ ----- ----- - -- --- -------------- ------- ---- ---- ------------ --- ----- ----- ------------ --- ---- ------- -------- ------------ --- ---- --
这将创建一个名为 expressjs_mysql 的数据库和一个名为 users 的表。
连接到 MySQL 数据库
在我们可以与 MySQL 数据库交互之前,我们需要连接到它。我们将使用 mysql2 模块中的 createConnection() 方法来创建一个连接对象。以下是连接到 MySQL 数据库的示例代码:
-- -------------------- ---- ------- ----- ----- - ------------------ ----- ---------- - ------------------------ ----- ------------ ----- ------- --------- ----------- --------- ----------------- --- -------------------------- -- - -- ------- - -------------------- ---------- -- ----- --------- - - ------------- ------- - ---------------------- -- ----- -------- ---- ---------- -- - - --------------------- ---
在上面的代码中,我们创建了一个名为 connection 的连接对象,并使用 createConnection() 方法设置了连接参数。我们使用 connect() 方法连接到 MySQL 数据库。如果连接过程中出现错误,我们将在控制台上记录错误消息。
创建 Express.js 应用程序
接下来,我们需要创建一个 Express.js 应用程序。我们将使用 Express.js 中的 app 对象来创建应用程序。以下是创建 Express.js 应用程序的示例代码:
const express = require('express'); const app = express(); app.listen(3000, () => { console.log('Express.js app listening on port 3000'); });
在上面的代码中,我们创建了一个名为 app 的 Express.js 应用程序,并使用 listen() 方法将其绑定到端口 3000。我们还在控制台上记录了一条消息,以指示应用程序已启动。
创建 HTTP 路由和处理程序
在我们可以处理 HTTP 请求和响应之前,我们需要创建一些路由和处理程序。我们将使用 Express.js 中的 app 对象来创建路由和处理程序。以下是创建 HTTP 路由和处理程序的示例代码:
-- -------------------- ---- ------- ------------ --------- --------- -- - --------------------- --------- --- ----------------- --------- --------- -- - -- ----- --------- ---- ---- --- --------------------- --------- --------- -- - -- ----- --------- ---- ------- --- ------------------ --------- --------- -- - -- ----- --------- ---- -------- --- --------------------- --------- --------- -- - -- ----- --------- ---- ------ --- ------------------------ --------- --------- -- - -- ----- --------- ---- -------- ---
在上面的代码中,我们创建了一些路由和处理程序来处理 HTTP GET、POST、PUT 和 DELETE 请求。我们还在控制台上记录了一条消息,以指示应用程序已启动。
从 MySQL 数据库中检索数据
现在,我们已经准备好从 MySQL 数据库中检索数据。我们将使用 mysql2 模块中的 query() 方法来执行 SQL 查询。以下是从 MySQL 数据库中检索数据的示例代码:
-- -------------------- ---- ------- ----------------- --------- --------- -- - ------------------------ - ---- ------- ------- -------- ------- -- - -- ------- - -------------------- ---------- ----- ---- ----- --------- - - ------------- ----------------------------------- ------ -------- ------- - ----------------------- --- ---
在上面的代码中,我们在 /users 路由上使用 query() 方法执行 SQL 查询。如果查询过程中出现错误,我们将在控制台上记录错误消息,并返回一个 HTTP 500 响应。否则,我们将查询结果作为响应发送回客户端。
向 MySQL 数据库中插入数据
现在,我们已经学会了从 MySQL 数据库中检索数据,让我们学习如何向 MySQL 数据库中插入数据。我们将使用 mysql2 模块中的 query() 方法来执行 SQL 插入语句。以下是向 MySQL 数据库中插入数据的示例代码:
-- -------------------- ---- ------- ------------------ --------- --------- -- - ----- - ----- ------ -------- - - ------------- ------------------------ ---- ----- ------ ------ --------- ------ --- -- ---- ------ ------ ---------- ------- -------- ------- -- - -- ------- - -------------------- --------- ---- ---- ----- --------- - - ------------- ----------------------------------- ------ -------- ------- - ------------------- ------- --------------- --- ---
在上面的代码中,我们在 /users 路由上使用 query() 方法执行 SQL 插入语句。我们从请求正文中提取用户名称、电子邮件和密码,并将它们作为参数传递给 query() 方法。如果插入过程中出现错误,我们将在控制台上记录错误消息,并返回一个 HTTP 500 响应。否则,我们将成功消息作为响应发送回客户端。
从 MySQL 数据库中更新数据
现在,我们已经学会了从 MySQL 数据库中检索数据和向 MySQL 数据库中插入数据,让我们学习如何从 MySQL 数据库中更新数据。我们将使用 mysql2 模块中的 query() 方法来执行 SQL 更新语句。以下是从 MySQL 数据库中更新数据的示例代码:
-- -------------------- ---- ------- --------------------- --------- --------- -- - ----- - ----- ------ -------- - - ------------- ----- - -- - - --------------- ------------------------ ----- --- ---- - -- ----- - -- -------- - - ----- -- - --- ------ ------ --------- ---- ------- -------- ------- -- - -- ------- - -------------------- -------- ---- -- ----- --------- - - ------------- ----------------------------------- ------ -------- ------- - ------------------- ------- --------------- --- ---
在上面的代码中,我们在 /users/:id 路由上使用 query() 方法执行 SQL 更新语句。我们从请求正文中提取用户名称、电子邮件和密码,以及从请求参数中提取用户 ID,并将它们作为参数传递给 query() 方法。如果更新过程中出现错误,我们将在控制台上记录错误消息,并返回一个 HTTP 500 响应。否则,我们将成功消息作为响应发送回客户端。
从 MySQL 数据库中删除数据
现在,我们已经学会了从 MySQL 数据库中检索数据、向 MySQL 数据库中插入数据和从 MySQL 数据库中更新数据,让我们学习如何从 MySQL 数据库中删除数据。我们将使用 mysql2 模块中的 query() 方法来执行 SQL 删除语句。以下是从 MySQL 数据库中删除数据的示例代码:
-- -------------------- ---- ------- ------------------------ --------- --------- -- - ----- - -- - - --------------- ------------------------ ---- ----- ----- -- - --- ----- ------- -------- ------- -- - -- ------- - -------------------- -------- ---- ---- ----- --------- - - ------------- ----------------------------------- ------ -------- ------- - ------------------- ------- --------------- --- ---
在上面的代码中,我们在 /users/:id 路由上使用 query() 方法执行 SQL 删除语句。我们从请求参数中提取用户 ID,并将其作为参数传递给 query() 方法。如果删除过程中出现错误,我们将在控制台上记录错误消息,并返回一个 HTTP 500 响应。否则,我们将成功消息作为响应发送回客户端。
结论
在本教程中,我们学习了如何使用 Express.js 和 MySQL 数据库进行交互。我们学习了如何连接到 MySQL 数据库、创建 Express.js 应用程序、创建 HTTP 路由和处理程序,以及从 MySQL 数据库中检索、插入、更新和删除数据。现在,您已经准备好使用 Express.js 和 MySQL 数据库构建自己的 Web 应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/673ffad65ade33eb7231ad6d