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

相关推荐
慧都小项4 分钟前
从 Figma 到 Qt:Qtitan 能减少哪些界面还原工作?
前端·qt·嵌入式·figma·图形界面·工业界面·qtitan
YWL7 分钟前
OpenLayers导出功能:地图截图+GeoJSON导出完整方案,从Canvas合并到PDF生成
前端·vue·openlayers
苦瓜小生15 分钟前
【前端】【力扣与手撕】十天带你刷完前端算法与手撕,全是最简单好记的最优解法!day4
前端·数据结构·算法·leetcode·面试
mayaairi25 分钟前
Vue2 实战进阶:表单数据收集、指令系统与自定义指令全解析
前端·javascript·vue.js
计算机魔术师34 分钟前
实测GPT-6 Astra后,我发现过去十年的专业门槛正在失效
前端
虎头金猫38 分钟前
Pic Smaller 本地部署:压缩图片、转换格式,再搭建自己的 Web 工具
运维·前端·开源·aigc·ai编程·ai写作
hunterandroid38 分钟前
Android ANR 排查实战:从线上告警到主线程卡点定位
android·前端
图扑软件1 小时前
下篇・换墨|主题/多语言/移动端,一套组件全覆盖
前端·javascript·ui·性能优化·数据可视化
程序员老赵1 小时前
Docker 部署 TeX Live:轻松搭建 LaTeX 论文排版编译平台
前端·docker·latex
Zhu7581 小时前
部署安全的pg数据库,搭配pgadmin实现web界面管理
前端·数据库·安全