Node.js实战:MySQL数据库开发实例
nodejs 开发实例 mysql

首页 2025-06-20 01:16:38



Node.js 开发实例:构建高效 MySQL 应用 在当今快速迭代的技术领域,Node.js凭借其非阻塞 I/O 模型和事件驱动架构,在开发高性能、高并发的服务器端应用方面崭露头角

    结合 MySQL 这一成熟、稳定的关系型数据库管理系统,开发者能够构建出既高效又可靠的后端服务

    本文将通过一个实际的开发实例,详细展示如何使用 Node.js 与 MySQL 构建一个功能完备的应用,涵盖从环境搭建到功能实现的完整流程

     一、环境搭建 1. 安装 Node.js 首先,确保你的系统上已经安装了 Node.js

    你可以通过访问【Node.js官网】(https://nodejs.org/) 下载并安装最新版本的 Node.js

    安装完成后,在命令行中运行`node -v` 和`npm -v` 以验证安装是否成功

     2. 安装 MySQL 接下来,安装 MySQL

    对于本地开发,你可以选择安装 MySQL Server 社区版

    同样,访问【MySQL官网】(https://dev.mysql.com/downloads/mysql/) 下载并安装适合你操作系统的版本

    安装后,运行`mysql -u root -p` 来启动 MySQL客户端并设置 root 用户密码

     3. 创建数据库和表 登录 MySQL 后,创建一个新的数据库和必要的表

    例如,我们创建一个名为`testdb` 的数据库,并在其中创建一个名为`users` 的表,用于存储用户信息: sql CREATE DATABASE testdb; USE testdb; CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 4. 初始化 Node.js 项目 在你的项目目录中,运行以下命令初始化一个新的 Node.js 项目: bash npm init -y 这将自动生成一个`package.json` 文件,包含项目的基本信息

     5. 安装必要的依赖 为了与 MySQL 进行交互,我们需要安装`mysql` 或`mysql2` 库

    此外,为了处理 HTTP 请求,我们将使用 Express框架

    运行以下命令安装这些依赖: bash npm install express mysql2 body-parser 二、构建应用 1. 创建服务器文件 在项目根目录下创建一个名为`server.js` 的文件,这是我们的主服务器文件

    首先,导入所需的模块并设置 Express 应用: javascript const express = require(express); const mysql = require(mysql2); const bodyParser = require(body-parser); const app = express(); const port =3000; // 中间件设置 app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true})); 2. 配置 MySQL 连接 创建一个 MySQL 连接池,以便高效地管理数据库连接: javascript const pool = mysql.createPool({ host: localhost, user: root, password: your_mysql_password, //替换为你的 MySQL root 密码 database: testdb }); pool.getConnection((err, connection) =>{ if(err) throw err; console.log(Connected to MySQL database.); connection.release(); //释放连接回连接池 }); 3. 定义路由 接下来,我们定义一些基本的 RESTful API路由,包括获取用户列表、创建新用户、根据 ID 获取用户信息等

     javascript // 获取用户列表 app.get(/users,(req, res) =>{ let sql = SELECTFROM users; pool.query(sql,(error, results) =>{ if(error) throw error; res.json(results); }); }); // 创建新用户 app.post(/users,(req, res) =>{ const{ username, email, password} = req.body; let sql = INSERT INTO users(username, email, password) VALUES(?, ?, ?); pool.query(sql,【username, email, password】,(error, results) =>{ if(error) throw error; res.status(201).send(User created successfully.); }); }); // 根据 ID 获取用户信息 app.get(/users/:id,(req, res) =>{ const id = req.params.id; let sql = SELECTFROM users WHERE id = ?; pool.query(sql,【id】,(error, results) =>{ if(error) throw error; if(results.length >0){ res.json(results【0】); } else{ res.status(404).send(User not found.); } }); }); 4. 启动服务器 在`server.js`文件的末尾,添加启动服务器的代码: javascript app.listen(port,() =>{ console.log(`Server is running on http://localhost:${port}`); }); 现在,运行`node server.js` 启动服务器

     三、测试应用 1. 使用 Postm

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道