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_password 和 your_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 数据库,并在你的应用程序中进行数据库操作。

相关推荐
孟陬33 分钟前
Foobar 技术周刊#160:大模型让大规模形式化软件验证成为现实丨AI写C++代码之后会发生什么?丨我们真的需要alpha() 函数吗丨重试,有时会让故障更
前端·后端·typescript
flash俊杰1 小时前
屏幕感知双通道:截图之外,为什么还要一份 UIA 控件清单
前端
熟的生菜1 小时前
从零造一个腱绳驱动灵巧手——仿真器篇3:VTK 渲染与 3D 交互——看得见、点得着、转得动
前端
Henry-SAP2 小时前
SAP PP中的核心业务流程——离散制造、重复制造、流程制造三大模式解析
前端·数据库·人工智能·制造
徐小夕2 小时前
下载量超 30 万的开源智能体 Prime Agent:它把自己从 TypeScript 重写成了 Rust
前端·vue.js·github
Zhao-Jichao3 小时前
AI Prompting for Everyone 课程笔记 - P20 实验与期末项目 Lab and Final Project
前端·人工智能·笔记
Moment3 小时前
为什么这么多 Agent Harness 都选择 TypeScript
前端·后端·面试
toooooop83 小时前
CRMEB 故障排查笔记:安全网关只放行 GET/POST 怎么办
前端·javascript·vue.js·thinkphp6·crmeb
软件技术NINI3 小时前
基于SpringBoot和Vue的项目评审系统
javascript·vue.js·spring boot·后端·spring·毕业设计·毕设
涛涛ing3 小时前
我现在最怕的不是 AI 写不出代码,是它写得太快,快到我不好意思说“等一下”
前端