如何使用 Node.js 在 MySQL 中准备语句 (Prepared Statements)

2025年3月13日 | 阅读 4 分钟

在本文中,我们将讨论如何在 Node.js 中使用 MySQL 的预处理语句。在进行实现之前,我们必须了解 Node.js 中的预处理语句。

什么是预处理语句?

它是 Node.js 中的一项功能,允许开发人员重复执行 SQL 语句和查询,而不是每次都向 MySQL 服务器发送完整的 SQL 查询。一旦创建了预处理语句,就可以使用不同的数据多次使用它。

预处理语句的三个主要特点是安全性、效率和灵活性。它们通过防止 SQL 注入攻击来提高安全性,通过减少解析时间来确保效率,并通过多次使用已创建的语句来增加灵活性。

这是防止 SQL 注入攻击的有效方法。预处理语句还可提高查询性能。它要求开发人员将 SQL 查询与数据分离,以便安全地处理用户输入。

示例

让我们通过一个程序来演示 MySQL 中的预处理语句。

步骤 1

  • 在 MySQL 中创建数据库和表。
  • 在您的系统中打开 MySQL 命令行客户端,创建一个带名称的数据库,并在之前创建的数据库中创建一个表。
  • 创建数据库 JavaTpoint。
  • 使用 JavaTpoint。

步骤 2

  • 现在,在 Node.js 中使用预处理语句。
  • 首先,创建一个文件夹并命名,然后使用命令 'npm init' 创建一个 package.json 文件。之后,使用命令 'npm install mysql2' 安装 mysql2 Node.js 模块。
  • 现在,在创建的文件夹中创建一个文件。在这里,app.js 文件是在 'prepared_statements' 文件夹中创建的。之后,使用以下代码作为参考。

终端输出

How to use Prepared Statements in MySQL with Node.js

使用预处理语句后的数据库

How to use Prepared Statements in MySQL with Node.js

说明

最初,创建一个名为 'JavaTpoint' 的数据库,然后在该数据库中创建一个名为 'Employees' 的表。此文件首先导入 'mysql2' 模块。第一步是连接到 MySQL 数据库。因此,用户必须提供主机、用户、密码和数据库名称作为凭据来设置与数据库的连接。下一段代码使用预处理语句将数据插入到员工表中。在这里,'?' 占位符用于稍后将提供的值。

方法 'connection.execute' 用于插入数据以执行预处理语句。之后,一旦成功插入,将返回一个 insertId。同样,一些用于更新和删除数据库中数据的预处理语句用于更改和与数据库交互。在使用所有预处理语句之后,必须关闭与 MySQL 数据库的连接。这可以通过使用方法 'connection.end' 来完成。

结论

总之,预处理语句通过防止 SQL 注入、减少解析时间以及允许使用不同参数重用查询来增强 SQL 操作的安全性、效率和灵活性。