如何使用 Node.js 和 MySQL 快速搭建簡單的增刪查改 API

懒洋洋在线表演敲代码發表於2024-11-26

摘要

透過本文,你將學會如何使用 Node.js 和 MySQL 搭建一個簡單的 RESTful API,包括建立資料庫、建立表、插入資料、查詢資料、更新資料以及刪除資料的完整操作示例。


正文

在現代 Web 開發中,Node.js 與 MySQL 的組合非常流行,它們的高效能和易用性讓開發者可以快速搭建資料驅動的應用程式。本教程將透過具體的程式碼示例,指導你完成以下操作:

  1. 建立資料庫
  2. 建立表
  3. 插入資料
  4. 查詢資料
  5. 更新資料
  6. 刪除資料

以下是完整程式碼及操作解析:


1. 環境準備

在開始之前,請確保你已經安裝了以下工具:

  • Node.js
  • MySQL

然後安裝必要的 Node.js 包:

npm install express mysql

2. 初始化專案

以下是專案初始化的基本程式碼:

const express = require("express");
const app = express();
const mysql = require("mysql");

// 建立資料庫連線
const db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "root",
    database: "nodemysql"
});

// 連線資料庫
db.connect((err) => {
    if (err) throw err;
    console.log('連線成功');
});

// 啟動服務
app.listen(3000, () => {
    console.log("伺服器開啟在3000埠....");
});

此段程式碼中,我們初始化了 Express 和 MySQL 並建立了資料庫連線。服務執行在本地 3000 埠。


3. 功能實現

1)建立資料庫

訪問 http://localhost:3000/createdb 即可建立名為 nodemysql 的資料庫:

app.get("/createdb", (req, res) => {
    let sql = "CREATE DATABASE nodemysql";
    db.query(sql, (err, result) => {
        if (err) throw err;
        res.send("Database created successfully...");
    });
});

2)建立表

建立一個 posts 表,其中包括 id(主鍵、自增)、titlebody 欄位:

app.get("/createpoststable", (req, res) => {
    let sql = "CREATE TABLE posts(id int AUTO_INCREMENT, title VARCHAR(255), body VARCHAR(255), PRIMARY KEY(id))";
    db.query(sql, (err, result) => {
        if (err) throw err;
        res.send("Posts table created successfully...");
    });
});

3)插入資料

透過 API 插入一條記錄:

app.get("/addpost2", (req, res) => {
    let post = { title: "post two", body: "content of post two" };
    let sql = "INSERT INTO posts SET ?";
    db.query(sql, post, (err, result) => {
        if (err) throw err;
        res.send("Post added successfully...");
    });
});

4)查詢所有資料

使用以下程式碼獲取 posts 表中的所有記錄:

app.get("/getposts", (req, res) => {
    let sql = "SELECT * FROM posts";
    db.query(sql, (err, results) => {
        if (err) throw err;
        res.json(results);
    });
});

5)查詢單條資料

透過動態 ID 查詢特定記錄:

app.get("/getposts/:id", (req, res) => {
    let sql = `SELECT * FROM posts WHERE id = ${req.params.id}`;
    db.query(sql, (err, result) => {
        if (err) throw err;
        res.json(result);
    });
});

6)更新資料

更新指定 ID 的記錄內容:

app.get("/updatepost/:id", (req, res) => {
    let newTitle = "Updated Title";
    let sql = `UPDATE posts SET title = '${newTitle}' WHERE id = ${req.params.id}`;
    db.query(sql, (err, result) => {
        if (err) throw err;
        res.send(`Post with ID ${req.params.id} updated successfully...`);
    });
});

7)刪除資料

透過 ID 刪除一條記錄:

app.get("/deletepost/:id", (req, res) => {
    let sql = `DELETE FROM posts WHERE id = ${req.params.id}`;
    db.query(sql, (err, result) => {
        if (err) throw err;
        res.send("Post deleted successfully...");
    });
});

4. 總結

透過本教程,你已經掌握瞭如何使用 Node.js 和 MySQL 構建一個基礎的增刪查改 API。這些操作可以幫助你快速構建資料驅動的 Web 應用程式。如果想進一步提升,可以新增使用者認證或最佳化介面的安全性。

趕緊試試吧!

本文為一隻懶羊原創作品 原文地址:​​https://yfcov.com/exploit/n/rhsynjhmksdjjddzscga-112.html​

相關文章