Node.js 连接 MySQL 数据库

在现代 Web 开发中,与数据库的交互是不可避免的一部分。Node.js 提供了许多库和模块,使得连接和操作 MySQL 数据库变得相对简单。本文将介绍如何使用 Node.js 连接 MySQL 数据库,并进行一些基本的操作。

步骤1:安装依赖

首先,确保你已经安装了 Node.js。然后,在你的项目目录下,使用以下命令安装 mysql 模块:

bash 复制代码
npm install mysql

步骤2:连接到 MySQL 数据库

在你的 Node.js 项目中,我们创建一个新的 JavaScript 文件,例如为 app.js,这将是我们的主要应用程序入口。在这个文件中,我们将编写以下代码来建立与 MySQL 数据库的连接、执行查询和插入操作。这个文件将负责与数据库进行通信,确保数据的可靠性和安全性。让我们一步步来了解如何在这个文件中编写代码,实现与 MySQL 数据库的无缝交互:

javascript 复制代码
// 引入mysql模块
const mysql = require('mysql');

// 创建数据库连接
const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'your_password',
    database: 'your_database'
});

// 连接到数据库
connection.connect((err) => {
    if (err) {
        console.error('无法连接到数据库:', err);
    } else {
        console.log('成功连接到数据库');
        // 在这里可以进行数据库操作
        // 例如查询数据、插入数据等
    }
});

// 结束连接(在完成数据库操作后)
connection.end((err) => {
    if (err) {
        console.error('无法关闭数据库连接:', err);
    } else {
        console.log('成功关闭数据库连接');
    }
});

请替换代码中的 your_passwordyour_database 分别为你的 MySQL 数据库密码和数据库名称。这段代码创建了一个到 MySQL 数据库的连接,并在成功连接后输出一条消息。

步骤3:执行数据库查询

接下来,我们可以执行一些基本的数据库查询。以下是一个示例,演示如何从数据库中选择数据:

javascript 复制代码
// 在连接成功后执行查询
connection.query('SELECT * FROM your_table', (err, results) => {
    if (err) {
        console.error('查询失败:', err);
    } else {
        console.log('查询结果:', results);
    }

    // 结束数据库连接
    connection.end();
});

请将 your_table 替换为你要查询的实际表名。在这个查询的回调函数中,你可以处理查询结果或处理错误信息。

步骤4:执行数据库插入

除了查询,我们还可以执行插入操作。以下是一个插入数据的示例:

javascript 复制代码
// 在连接成功后执行插入
const newRecord = { name: 'John Doe', age: 25 };

connection.query('INSERT INTO your_table SET ?', newRecord, (err, results) => {
    if (err) {
        console.error('插入数据失败:', err);
    } else {
        console.log('成功插入数据,插入的记录ID为:', results.insertId);
    }

    // 结束数据库连接
    connection.end();
});

这个示例将一个新记录插入到数据库中,并输出插入的记录ID。

结语

使用 Node.js 连接 MySQL 数据库并进行查询和插入操作是相对简单的。在实际项目中,你可能还会用到 Promise、async/await 等更高级的技术来处理数据库操作,但是在实际项目中,应该采取适当的安全措施,例如防止 SQL 注入攻击等。希望这篇文章能够帮助你开始使用 Node.js 连接 MySQL 数据库,并在你的应用程序中进行数据库操作。

相关推荐
LCG元2 小时前
STM32实战:基于STM32F103的Bootloader设计与IAP在线升级
javascript·stm32·嵌入式硬件
超级无敌暴龙兽3 小时前
和我一起刷面试题呀
前端·面试
wzl202612134 小时前
企业微信定时群发技术实现与实操指南(原生接口+工具落地)
java·运维·前端·企业微信
小码哥_常4 小时前
Robots.txt:互联网爬虫世界的“隐形规则”
前端
小码哥_常4 小时前
Android开发神器:AndroidAutoSize,轻松搞定屏幕适配
前端
前端一小卒4 小时前
前端工程师的全栈焦虑,我用 60 天治好了
前端·javascript·后端
不停喝水4 小时前
【AI+Cursor】 告别切图仔,拥抱Vibe Coding: AI + Cursor 开启多模态全栈新纪元 (1)
前端·人工智能·后端·ai·ai编程·cursor
coderyi5 小时前
LLM Agent 浅析
前端·javascript·人工智能
我叫黑大帅5 小时前
TypeScript 6.0 弃用选项错误 TS5101 解决方法
javascript·后端·面试