Javascript/Node.js + MySQL 数据库 - CRUD 教程

本教程将向您介绍如何使用 JavaScript/Node.js 编程语言对 MySQL 数据库执行 CRUD 操作(创建、读取、更新、删除)。

发布于

本教程将向您介绍如何使用 JavaScript/Node.js 编程语言对 MySQL 数据库执行 CRUD 操作(创建、读取、更新、删除)。我们将从介绍数据库和编程语言开始,然后逐步指导您完成连接和操作 MySQL 数据库的步骤。最后,我们将提供一个简单的示例,以便您更好地理解如何应用这些概念。

先决条件

为了连接 MySQL 数据库,需要具备以下先决条件:

  1. 安装 Node.js:确保您已成功安装 Node.js 运行时环境。您可以从 Node.js 官方网站下载适用于您的操作系统的 Node.js 安装程序。

  2. MySQL 数据库服务器:您需要在本地或远程服务器上安装 MySQL 数据库。MySQL 是一种流行的关系型数据库管理系统,您可以从 MySQL 官方网站或其他来源下载 MySQL 数据库安装程序。

  3. Node.js 库和包:您需要在 Node.js 项目中安装适用于 MySQL 的相关库和包,如mysql。您可以使用 Node 包管理器(npm)来安装这些库。

  4. 文本编辑器:使用文本编辑器如 Visual Studio Code 来编写 Node.js 代码。

连接 MySQL 数据库

在开始执行 CRUD 操作之前,我们需要建立与 MySQL 数据库的连接。以下是连接到 MySQL 数据库的步骤:

步骤 1:安装 mysql

在项目文件夹中执行以下命令来安装mysql包:

npm install mysql

步骤 2:导入必要的模块

在 Node.js 脚本中导入所需的模块,包括mysql模块和其他必要的模块。

const mysql = require("mysql")

步骤 3:创建数据库连接

配置 MySQL 数据库连接参数,包括主机地址、用户名、密码和数据库名称。

const db = mysql.createConnection({
  host: "localhost",
  user: "your_username",
  password: "your_password",
  database: "your_database"
})

确保将localhost替换为 MySQL 数据库服务器的地址,your_username替换为您的数据库用户名,your_password替换为您的数据库密码,your_database替换为您的数据库名称。

步骤 4:连接到数据库

使用以下代码创建与 MySQL 数据库的连接:

db.connect((err) => {
  if (err) {
    console.error("Error connecting to the database: " + err)
    return
  }
  console.log("Connected to the database")
})

执行 CRUD 操作

现在,我们已经建立了与 MySQL 数据库的连接,让我们继续执行 CRUD 操作。

创建记录

要创建新的记录,使用以下代码:

const createRecord = {
  username: "john_doe",
  email: "[email protected]"
}

const query = "INSERT INTO user SET ?"

db.query(query, createRecord, (err, result) => {
  if (err) {
    console.error("Error creating record: " + err)
    return
  }
  console.log("Record created successfully")
})

读取记录

要读取记录,使用以下代码:

const query = "SELECT * FROM user"

db.query(query, (err, records) => {
  if (err) {
    console.error("Error reading records: " + err)
    return
  }
  records.forEach((record) => {
    console.log("Username: " + record.username + ", Email: " + record.email)
  })
})

更新记录

要更新记录,使用以下代码:

const updateRecord = {
  email: "[email protected]"
}

const filter = { username: "john_doe" }

const query = "UPDATE user SET ? WHERE ?"

db.query(query, [updateRecord, filter], (err, result) => {
  if (err) {
    console.error("Error updating record: " + err)
    return
  }
  console.log("Record updated successfully")
})

删除记录

要删除记录,使用以下代码:

const filter = { username: "john_doe" }

const query = "DELETE FROM user WHERE ?"

db.query(query, filter, (err, result) => {
  if (err) {
    console.error("Error deleting record: " + err)
    return
  }
  console.log("Record deleted successfully")
})

简单示例

以下是一个简单的示例,演示如何创建、读取、更新和删除用户记录:

const mysql = require("mysql")

const db = mysql.createConnection({
  host: "localhost",
  user: "your_username",
  password: "your_password",
  database: "your_database"
})

db.connect((err) => {
  if (err) {
    console.error("Error connecting to the database: " + err)
    return
  }
  console.log("Connected to the database")

  // 创建记录
  const createRecord = {
    username: "john_doe",
    email: "[email protected]"
  }

  const createQuery = "INSERT INTO user SET ?"

  db.query(createQuery, createRecord, (err, result) => {
    if (err) {
      console.error("Error creating record: " + err)
      return
    }
    console.log("Record created successfully")
  })

  // 读取记录
  const readQuery = "SELECT * FROM user"

  db.query(readQuery, (err, records) => {
    if (err) {
      console.error("Error reading records: " + err)
      return
    }
    records.forEach((record) => {
      console.log("Username: " + record.username + ", Email: " + record.email)
    })
  })

  // 更新记录
  const updateRecord = {
    email: "[email protected]"
  }

  const updateFilter = { username: "john_doe" }

  const updateQuery = "UPDATE user SET ? WHERE ?"

  db.query(updateQuery, [updateRecord, updateFilter], (err, result) => {
    if (err) {
      console.error("Error updating record: " + err)
      return
    }
    console.log("Record updated successfully")
  })

  // 删除记录
  const deleteFilter = { username: "john_doe" }

  const deleteQuery = "DELETE FROM user WHERE ?"

  db.query(deleteQuery, deleteFilter, (err, result) => {
    if (err) {
      console.error("Error deleting record: " + err)
      return
    }
    console.log("Record deleted successfully")
  })
})

总结

通过本教程,您已经学会了如何使用 JavaScript/Node.js 编程语言连接 MySQL 数据库并执行 CRUD 操作。这些基本的数据库操作是构建更复杂应用程序的基础,希望本文能够帮助您在 Node.js 中使用 MySQL 数据库时更加自信和熟练。如果您希望进行更高级的操作,还可以研究 MySQL 数据库的更多功能和 API。