Node.js开发必备:全面掌握MySQL数据库使用教程
nodejs使用mysql教程

首页 2025-07-12 14:50:26



Node.js 使用 MySQL教程:构建高效数据库交互应用 在当今的软件开发领域,Node.js 以其高效、异步、非阻塞的 I/O 操作模型,成为了构建高性能网络应用的首选技术之一

    而 MySQL,作为一个成熟、稳定且广泛使用的开源关系型数据库管理系统,无疑是存储和管理数据的不二之选

    将这两者结合,可以开发出既快速又可靠的 Web 应用

    本文将详细讲解如何在 Node.js 中使用 MySQL,从安装配置到实际操作,带你一步步走进高效数据库交互的世界

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

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

    安装完成后,打开终端或命令提示符,输入以下命令检查 Node.js 和 npm(Node 包管理器)是否安装成功: bash node -v npm -v 2. 安装 MySQL 接下来,安装 MySQL

    你可以通过 MySQL 的官方网站下载适用于你操作系统的安装包,或者使用包管理器(如 Homebrew for macOS, apt-get for Ubuntu)进行安装

    安装完成后,启动 MySQL 服务,并设置 root 密码(如果安装过程中未设置)

     3. 创建数据库和表 为了演示,我们需要一个 MySQL 数据库和一张表

    打开 MySQL命令行客户端或使用你喜欢的 MySQL 管理工具(如 phpMyAdmin, MySQL Workbench),执行以下 SQL语句创建一个名为`testdb` 的数据库和一张名为`users` 的表: sql CREATE DATABASE testdb; USE testdb; CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 二、在 Node.js 中连接 MySQL 1. 安装 MySQL 客户端库 在 Node.js 项目中,我们使用`mysql` 或`mysql2` 这样的第三方库来与 MySQL 数据库进行交互

    这里我们以`mysql2` 为例,因为它提供了更好的性能和 Promise 支持

    在你的项目根目录下,使用 npm 安装`mysql2`: bash npm install mysql2 2. 建立数据库连接 创建一个名为`db.js` 的文件,用于封装数据库连接逻辑: javascript const mysql = require(mysql2/promise); async function createConnection(){ const connection = await mysql.createConnection({ host: localhost, user: root, password: your_password, //替换为你的 MySQL root 密码 database: testdb }); return connection; } module.exports = createConnection; 3. 执行查询 接下来,我们创建一个示例脚本来演示如何执行 SQL 查询

    创建一个名为`app.js` 的文件,并添加以下代码: javascript const createConnection = require(./db); (async() =>{ try{ const connection = await createConnection(); //插入数据 const【rows, fields】 = await connection.execute( INSERT INTO users(name, email) VALUES(?, ?), 【John Doe, john.doe@example.com】 ); console.log(Inserted ID:, rows.insertId); // 查询数据 const【results, fields】 = await connection.execute(SELECTFROM users); console.log(Users:, results); // 关闭连接 await connection.end(); } catch(error){ console.error(Database error:, error); } })(); 在这个示例中,我们首先创建了一个数据库连接,然后执行了一个插入操作,接着查询了`users` 表中的所有记录,并最后关闭了数据库连接

    注意,我们使用占位符`?` 来防止 SQL注入攻击,并通过传递参数数组来安全地传递值

     三、使用 ORM框架(可选) 虽然直接使用 MySQL客户端库可以完成所有数据库操作,但在实际应用中,使用对象关系映射(ORM)框架可以大大简化代码并提高可维护性

    Sequelize 是一个流行的 Node.js ORM框架,支持 MySQL、PostgreSQL、SQLite 和 MSSQL

     1. 安装 Sequelize 和 MySQL2 bash npm install sequelize mysql2 2. 初始化 Sequelize 在项目根目录下运行 Sequelize 的 CLI 命令来初始化项目(需要先全局安装 sequelize-cli): bash npm install -g sequelize-cli sequelize-cli init 这将创建一个`config`、`models`、`migrations` 和`seeders` 目录

     3. 配置数据库连接 编辑`config/config.json` 文件,添加你的数据库配置: json { development:{ username: root, password: your_password, database: testdb, host: 127.0.0.1, dialect: mysql } } 4. 定义模型 在`models`目录下创建一个名为`user.js` 的文件,定义 User 模型: javascript module.exports =(sequelize, DataTypes) =>{ const User = sequelize.define(User,{ name: DataTypes.STRING, email: DataTypes.STRING, },{}); return User; };

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