Express.js 教程:如何与 MySQL 数据库交互

阅读时长 10 分钟读完

简介

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 模块:

创建数据库和表

在继续之前,我们需要创建一个数据库和一个表。您可以使用以下 SQL 语句创建一个数据库和一个表:

-- -------------------- ---- -------
------ -------- ----------------

--- ----------------

------ ----- ----- -
  -- --- -------------- ------- ----
  ---- ------------ --- -----
  ----- ------------ --- ---- -------
  -------- ------------ --- ----
--

这将创建一个名为 expressjs_mysql 的数据库和一个名为 users 的表。

连接到 MySQL 数据库

在我们可以与 MySQL 数据库交互之前,我们需要连接到它。我们将使用 mysql2 模块中的 createConnection() 方法来创建一个连接对象。以下是连接到 MySQL 数据库的示例代码:

-- -------------------- ---- -------
----- ----- - ------------------

----- ---------- - ------------------------
  ----- ------------
  ----- -------
  --------- -----------
  --------- -----------------
---

-------------------------- -- -
  -- ------- -
    -------------------- ---------- -- ----- --------- - - -------------
    -------
  -

  ---------------------- -- ----- -------- ---- ---------- -- - - ---------------------
---

在上面的代码中,我们创建了一个名为 connection 的连接对象,并使用 createConnection() 方法设置了连接参数。我们使用 connect() 方法连接到 MySQL 数据库。如果连接过程中出现错误,我们将在控制台上记录错误消息。

创建 Express.js 应用程序

接下来,我们需要创建一个 Express.js 应用程序。我们将使用 Express.js 中的 app 对象来创建应用程序。以下是创建 Express.js 应用程序的示例代码:

在上面的代码中,我们创建了一个名为 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

纠错
反馈