如何在 Node.js 中连接 MySQL 数据库

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 如何在 Node.js 中连接 MySQL 数据库

在现代的 Web 开发中,数据存储和管理是不可或缺的一部分。MySQL 是一个流行的开源关系型数据库管理系统,而 Node.js 是一个基于事件驱动、非阻塞 I/O 的 JavaScript 运行时环境。通过将 Node.js 和 MySQL 结合使用,我们可以轻松地连接到数据库,并进行数据操作和查询。

本文将详细介绍如何在 Node.js 中连接 MySQL 数据库,包括安装依赖、创建数据库连接、执行查询和更新操作等。

安装 MySQL 驱动

在开始之前,我们需要在 Node.js 项目中安装一个适用于 MySQL 的驱动程序。最常用的驱动之一是 mysql2,它是一个稳定、高性能的 MySQL 驱动。

使用 npm 命令行工具可以很容易地安装 mysql2 驱动:

$ npm install mysql2

安装完成后,我们就可以在 Node.js 项目中使用 mysql2 驱动来连接 MySQL 数据库了。

创建数据库连接

在 Node.js 中连接到 MySQL 数据库,需要使用 mysql2 模块提供的 createConnection 函数来创建一个数据库连接对象。

首先,在代码中引入 mysql2 模块:

const mysql = require('mysql2');

然后,通过调用 createConnection 函数创建数据库连接对象:

const connection = mysql.createConnection({
   
  host: 'localhost',
  user: 'root',
  password: '123456',
  database: 'mydatabase'
});

在上面的示例中,我们指定了数据库的主机名、用户名、密码和要连接的数据库名称。根据实际情况,可能需要修改这些配置。

执行查询操作

创建数据库连接后,我们可以使用连接对象来执行各种类型的 SQL 查询操作。

以下是一个简单的示例,演示如何使用连接对象执行 SELECT 查询操作:

connection.query('SELECT * FROM users', (error, results, fields) => {
   
  if (error) {
   
    console.error('Error executing query:', error);
    return;
  }

  console.log('Query results:', results);
});

在上面的示例中,我们调用 query 方法,并传递一个 SQL 查询字符串作为第一个参数。查询结果将作为回调函数的第二个参数返回。

需要注意的是,query 方法是异步执行的,在查询完成后会调用回调函数。因此,我们可以在回调函数中处理查询结果或错误。

执行更新操作

除了查询操作,我们还可以使用连接对象执行各种类型的 SQL 更新操作,例如插入、更新和删除数据。

以下是一个简单的示例,演示如何使用连接对象执行 INSERT 插入操作:

const user = {
    name: 'John Doe', email: 'john@example.com' };

connection.query('INSERT INTO users SET ?', user, (error, result) => {
   
  if (error) {
   
    console.error('Error executing query:', error);
    return;
  }

  console.log('Rows affected:', result.affectedRows);
});

在上面的示例中,我们使用 INSERT INTO 语句将一个用户对象插入到 users 表中。SET ? 是一种占位符写法,用于指定要插入的数据。

更新和删除操作的语法类似,只需使用 UPDATEDELETE FROM 语句即可。

关闭数据库连接

在 Node.js 中连接到数据库后,最后一步是关闭数据库连接,以释放资源。

可以使用连接对象的 end 方法来关闭数据库连接:

connection.end();

或者,可以在应用程序退出时自动关闭数据库连接:

process.on('exit', () => {
   
  connection.end();
});

在上述示例中,我们使用了 process.on 方法来监听 exit 事件,并在事件发生时关闭数据库连接。

总结

本文详细介绍了如何在 Node.js 中连接 MySQL 数据库。首先,我们了解了如何安装 mysql2 驱动程序。然后,通过创建数据库连接和使用连接对象执行查询和更新操作的示例,演示了如何在 Node.js 中与 MySQL 数据库进行交互。

连接到 MySQL 数据库后,我们可以使用 SQL 查询语句执行各种操作,并在结果回调中处理查询结果或错误。同时,我们还可以执行更新操作,例如插入、更新和删除数据。最后,不要忘记在程序退出时关闭数据库连接以释放资源。

希望本文能帮助你快速入门 Node.js 连接 MySQL,并在实际的项目中应用这些知识。祝你在 Web 开发的旅程中取得成功!Happy coding!

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
|
2月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
1月前
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
97 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
24天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
124 25
|
4月前
|
关系型数据库 MySQL 网络安全
DBeaver连接MySQL提示Access denied for user ‘‘@‘ip‘ (using password: YES)
“Access denied for user ''@'ip' (using password: YES)”错误通常与MySQL用户权限配置或网络设置有关。通过检查并正确配置用户名和密码、用户权限、MySQL配置文件及防火墙设置,可以有效解决此问题。希望本文能帮助您成功连接MySQL数据库。
440 4
|
4月前
|
安全 关系型数据库 MySQL
【赵渝强老师】MySQL的连接方式
本文介绍了MySQL数据库服务器启动后的三种连接方式:本地连接、远程连接和安全连接。详细步骤包括使用root用户登录、修改密码、创建新用户、授权及配置SSL等。并附有视频讲解,帮助读者更好地理解和操作。
725 1
|
4月前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
1月前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
167 42
|
11天前
|
监控 关系型数据库 MySQL
云数据库:从零到一,构建高可用MySQL集群
在互联网时代,数据成为企业核心资产,传统单机数据库难以满足高并发、高可用需求。云数据库通过弹性扩展、分布式架构等优势解决了这些问题,但也面临数据安全和性能优化挑战。本文介绍了如何从零开始构建高可用MySQL集群,涵盖选择云服务提供商、创建实例、配置高可用架构、数据备份恢复及性能优化等内容,并通过电商平台案例展示了具体应用。
|
19天前
|
SQL 关系型数据库 MySQL
数据库数据恢复——MySQL简介和数据恢复案例
MySQL数据库数据恢复环境&故障: 本地服务器,安装的windows server操作系统。 操作系统上部署MySQL单实例,引擎类型为innodb,表空间类型为独立表空间。该MySQL数据库没有备份,未开启binlog。 人为误操作,在用Delete命令删除数据时未添加where子句进行筛选导致全表数据被删除,删除后未对该表进行任何操作。

热门文章

最新文章