node连接mysql,并实现增删改查功能

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【8月更文挑战第26天】node连接mysql,并实现增删改查功能

在Node.js中连接到MySQL数据库并执行增删改查(CRUD)操作是一个常见的任务,特别是在构建基于Node.js的后端服务时。这里,我将概述如何使用Node.js和MySQL数据库进行连接,并展示如何实现基本的CRUD操作。由于篇幅限制,我将尽量简洁明了地介绍每个步骤。

第一步:安装MySQL和Node.js

确保你的系统上已经安装了MySQL服务器和Node.js。你可以从MySQL官网下载MySQL,并从Node.js官网下载Node.js。

第二步:安装MySQL Node.js客户端

在Node.js项目中,你可以使用mysqlmysql2包来与MySQL数据库进行交互。这里,我们以mysql2为例,因为它提供了Promise支持,使得异步操作更加简洁。

在你的Node.js项目目录中,打开终端或命令提示符,并运行以下命令来安装mysql2

npm install mysql2

第三步:创建数据库连接

在你的Node.js项目中,创建一个文件(如db.js)来管理数据库连接。

const mysql = require('mysql2/promise');

async function createConnection() {
   
    try {
   
        const connection = await mysql.createConnection({
   
            host: 'localhost',
            user: 'yourUsername',
            password: 'yourPassword',
            database: 'yourDatabaseName'
        });
        console.log('数据库连接成功');
        return connection;
    } catch (error) {
   
        console.error('数据库连接失败:', error);
        throw error;
    }
}

module.exports = createConnection;

第四步:实现CRUD操作

接下来,在你的项目中创建一个新文件(如crud.js),用于实现CRUD操作。

const createConnection = require('./db');

async function insertData(connection, data) {
   
    try {
   
        const [rows, fields] = await connection.execute('INSERT INTO tableName (column1, column2) VALUES (?, ?)', [data.value1, data.value2]);
        return rows;
    } catch (error) {
   
        console.error('插入数据失败:', error);
        throw error;
    }
}

async function selectData(connection) {
   
    try {
   
        const [rows, fields] = await connection.execute('SELECT * FROM tableName');
        return rows;
    } catch (error) {
   
        console.error('查询数据失败:', error);
        throw error;
    }
}

// 更新和删除操作类似,这里不再赘述,只展示框架
async function updateData(connection, id, newData) {
   
    // 实现更新逻辑
}

async function deleteData(connection, id) {
   
    // 实现删除逻辑
}

// 使用示例
(async () => {
   
    const connection = await createConnection();
    try {
   
        // 假设执行插入操作
        const inserted = await insertData(connection, {
    value1: 'example1', value2: 'example2' });
        console.log('插入的数据:', inserted);

        // 假设执行查询操作
        const data = await selectData(connection);
        console.log('查询的数据:', data);

        // 关闭连接
        await connection.end();
    } catch (error) {
   
        console.error('操作失败:', error);
        // 如果出错也确保关闭连接
        await connection.end();
    }
})();

第五步:运行你的Node.js应用

确保你的MySQL服务器正在运行,并在你的Node.js项目目录中运行crud.js文件(例如,使用node crud.js)。你的应用将连接到MySQL数据库,执行插入和查询操作,并打印结果到控制台。

总结

以上就是在Node.js中连接MySQL数据库并执行基本CRUD操作的步骤。通过mysql2库,我们可以方便地利用Promise进行异步数据库操作,使代码更加清晰和易于维护。在实际开发中,你可能需要根据具体需求调整数据库连接设置和CRUD操作的SQL语句。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
SQL 存储 关系型数据库
MySQL功能模块探秘:数据库世界的奇妙之旅
]带你轻松愉快地探索MySQL 8.4.5的核心功能模块,从SQL引擎到存储引擎,从复制机制到插件系统,让你在欢声笑语中掌握数据库的精髓!
50 26
|
4月前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
|
4月前
|
存储 关系型数据库 MySQL
MySQL细节优化:关闭大小写敏感功能的方法。
通过这种方法,你就可以成功关闭 MySQL 的大小写敏感功能,让你的数据库操作更加便捷。
293 19
|
6月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
4月前
|
关系型数据库 MySQL 数据库
|
5月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
255 25
|
5月前
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
|
7月前
|
SQL 关系型数据库 MySQL
【MySQL基础篇】多表查询(隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询)
本文详细介绍了MySQL中的多表查询,包括多表关系、隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询及其实现方式,一文全面读懂多表联查!
【MySQL基础篇】多表查询(隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询)
|
7月前
|
SQL 存储 关系型数据库
MySQL/SqlServer跨服务器增删改查(CRUD)的一种方法
通过上述方法,MySQL和SQL Server均能够实现跨服务器的增删改查操作。MySQL通过联邦存储引擎提供了直接的跨服务器表访问,而SQL Server通过链接服务器和分布式查询实现了灵活的跨服务器数据操作。这些技术为分布式数据库管理提供了强大的支持,能够满足复杂的数据操作需求。
370 12
|
8月前
|
关系型数据库 MySQL Java
Servlet+MySQL增删改查 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/1391
对于任何项目开发,创建,读取,更新和删除(CRUD)记录操作是应用程序的一个最重要部分。
190 20

推荐镜像

更多