摘要
通过本文,你将学会如何使用 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