摘要
透過本文,你將學會如何使用 Node.js 和 MySQL 搭建一個簡單的 RESTful API,包括建立資料庫、建立表、插入資料、查詢資料、更新資料以及刪除資料的完整操作示例。
正文
在現代 Web 開發中,Node.js 與 MySQL 的組合非常流行,它們的高效能和易用性讓開發者可以快速搭建資料驅動的應用程式。本教程將透過具體的程式碼示例,指導你完成以下操作:
- 建立資料庫
- 建立表
- 插入資料
- 查詢資料
- 更新資料
- 刪除資料
以下是完整程式碼及操作解析:
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
(主鍵、自增)、title
和 body
欄位:
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