在 Node.js 中连接 MySQL 数据库需要使用第三方模块,常用的模块有 mysql 和 mysql2。其中 mysql 是最常用的一种,它提供了许多方便的 API 来连接和操作 MySQL 数据库。

首先需要安装 mysql 模块, 你可以使用 npm 命令来安装:

npm install mysql

接着可以使用以下代码来连接 MySQL 数据库:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'your-host-name',
  user: 'your-user-name',
  password: 'your-password',
  database: 'your-database-name'
});

connection.connect((err) => {
  if (err) throw err;
  console.log('Connected to MySQL!');
});

连接成功后,就可以对数据库进行增删改查操作了。

  • 增加数据
const sql = "INSERT INTO users (username, email) VALUES ('John', 'john@example.com')";
connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log("1 record inserted");
});
  •  修改数据
const sql = "UPDATE users SET email = 'newemail@example.com' WHERE username = 'John'";
connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log(result.affectedRows + " record(s) updated");
});
  • 删除数据
const sql = "DELETE FROM users WHERE username = 'John'";
connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Number of records deleted: " + result.affectedRows);
});
  • 查找数据
const sql = "SELECT * FROM users";
connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log(result);
});

当然,在实际应用中我们需要考虑安全性,避免 SQL 注入攻击。可以使用 connection.escape() 或者 prepared statement 来防止 SQL 注入。

还有就是记得断开数据库连接,可以在应用结束时调用 connection.end() 方法来断开连接。

总之, 连接 MySQL 数据库并实现数据库的增删改查操作是很简单的, 通过使用mysql模块,我们可以轻松地连接到 MySQL 数据库并实现对数据库的增删改查。

需要注意的是, 在实际应用中, 我们还需要注意安全性,避免SQL注入攻击,并且记得断开数据库连接.

除了使用 mysql 模块来连接和操作 MySQL 数据库之外,我们还可以使用其他的第三方模块来简化连接和操作过程。比如说使用 ORM 框架,如 Sequelize 和 TypeORM, 可以帮助我们使JavaScript 代码来描述数据模型,并自动生成 SQL 查询。 这些框架可以提高开发效率,降低代码复杂度,简化数据库操作,避免 SQL 注入攻击。

在选择连接和操作 MySQL 数据库的方式时,需要根据自己的需求和喜好来选择。

总之, 连接和操作 MySQL 数据库是一个重要的部分,在使用 Node.js 开发 web应用时,可以根据项目需求和个人喜好来选择使用 mysql 模块还是其他第三方模块来连接和操作 MySQL 数据库。 使用 mysql 模块可以直接操作数据库,对于对数据库熟悉的开发者来说是一个不错的选择。而使用 ORM 框架可以简化数据库操作,对于对 JavaScript 代码更熟悉的开发者来说是一个更好的选择。

在使用任何连接 MySQL的方式时,都需要注意安全性,避免 SQL 注入攻击。还需要记得断开数据库连接.