nodejs中操作mysql数据库示例

下面是关于“nodejs中操作mysql数据库示例”的完整攻略。

1. 安装相关模块

首先,我们需要通过npm来安装以下两个模块:

npm install mysql
npm install dotenv

其中,mysql是操作mysql数据库的模块,而dotenv是加载环境变量的模块。在本示例中,我们会将连接数据库的参数存储在环境变量中。

2. 连接数据库

在连接数据库之前,我们需要准备一下数据库的相关信息,例如:

DB_HOST=localhost
DB_USER=root
DB_PASSWORD=password
DB_NAME=my_database

上述参数包括数据库地址(DB_HOST)、用户名(DB_USER)、密码(DB_PASSWORD)以及要连接的数据库名称(DB_NAME)。

在代码中,我们需要使用dotenv模块来加载环境变量,然后使用mysql模块连接数据库。以下是连接数据库的示例代码:

require('dotenv').config();

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: process.env.DB_HOST,
  user: process.env.DB_USER,
  password: process.env.DB_PASSWORD,
  database: process.env.DB_NAME,
});

connection.connect((error) => {
  if (error) {
    console.error('error connecting: ', error);
    return;
  }

  console.log('connected as id ' + connection.threadId);
});

以上代码中,我们首先使用dotenv模块来加载环境变量,然后使用mysql模块创建一个连接对象(connection)。在调用connection.connect()方法时,我们可以处理连接成功和失败的情况。

3. 查询数据

连接成功后,我们可以通过connection.query()方法来查询数据。以下是示例代码:

// 查询所有数据
connection.query('SELECT * FROM my_table', (error, results, fields) => {
  if (error) throw error;

  console.log(results);
});

// 查询符合条件的数据
connection.query(
  'SELECT * FROM my_table WHERE id = ?',
  [1],
  (error, results, fields) => {
    if (error) throw error;

    console.log(results);
  }
);

以上代码中,我们使用connection.query()方法来查询数据库中的数据。第一个参数是MySQL查询语句,第二个参数是查询条件(可选),第三个参数是回调函数,用来处理查询结果。

在第一个示例中,我们查询了所有数据,并直接打印出结果。而在第二个示例中,我们查询了id等于1的数据,并打印出结果。

4. 插入数据

除了查询数据,我们还可以使用connection.query()方法来插入数据。以下是示例代码:

const data = {
  name: 'John Doe',
  age: 30,
  email: 'john.doe@example.com',
};

connection.query('INSERT INTO my_table SET ?', data, (error, results, fields) => {
  if (error) throw error;

  console.log('Inserted ' + results.affectedRows + ' row(s).');
});

以上代码中,我们使用connection.query()方法来插入一条数据。第一个参数是MySQL插入语句,而第二个参数是一个对象,包含要插入的数据。在插入成功后,我们打印出受影响的行数。

5. 更新数据和删除数据

与插入数据类似,我们也可以使用connection.query()方法来更新数据和删除数据。以下是示例代码:

// 更新数据
connection.query(
  'UPDATE my_table SET name = ?, age = ? WHERE id = ?',
  ['John Doe', 40, 1],
  (error, results, fields) => {
    if (error) throw error;

    console.log('Updated ' + results.affectedRows + ' row(s).');
  }
);

// 删除数据
connection.query('DELETE FROM my_table WHERE id = ?', [1], (error, results, fields) => {
  if (error) throw error;

  console.log('Deleted ' + results.affectedRows + ' row(s).');
});

以上代码中,我们使用connection.query()方法来更新和删除数据。在更新数据时,第一个参数是MySQL更新语句,第二个参数是一个数组,包含要更新的值,而第三个参数是回调函数,用来处理操作结果。删除数据与之类似,只是第一个参数是MySQL删除语句。

6. 关闭数据库连接

在完成操作后,我们需要使用connection.end()方法来关闭数据库连接,以释放资源。以下是示例代码:

connection.end((error) => {
  if (error) {
    console.error('error disconnecting: ', error);
    return;
  }

  console.log('disconnected');
});

以上代码中,我们使用connection.end()方法来关闭数据库连接,并处理关闭成功和失败的情况。当然,如果你需要保持连接不关闭,也可以不调用该方法。

到此为止,我们完成了操作mysql数据库的示例。希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nodejs中操作mysql数据库示例 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • Node.js 在本地生成日志文件的方法

    当需要在Node.js应用中生成并输出日志信息时,最常见的做法就是使用现成的第三方日志库,例如Winston或Bunyan等。不过,如果想要在本地生成日志文件,那么可以通过以下步骤来实现: 第一步:创建日志文件存储目录 首先,需要在应用的根目录下创建用于存储日志信息的目录。假设该目录名为logs,则可以使用以下命令进行创建: mkdir logs 第二步:安…

    node js 2023年6月8日
    00
  • Sea.JS知识总结

    Sea.JS知识总结 什么是Sea.JS? Sea.JS是一个遵循CMD规范的JavaScript模块加载器,可以实现模块的异步加载、依赖管理等功能,可以使得JavaScript算法复杂的应用变得更具可维护性和清晰可见性。 Sea.JS特点 遵循CMD规范,模块的代码放在单独的文件中,在需要的时候动态加载,使得代码更为模块化、复用性更好、依赖性管理更为清晰。…

    node js 2023年6月8日
    00
  • 详解Node.js 命令行程序开发教程

    详解Node.js 命令行程序开发教程 概述 本教程主要介绍如何使用Node.js开发命令行程序。命令行程序是一种无需图形化界面即可在终端运行的程序。Node.js提供了丰富的模块和工具,使得命令行程序的开发变得更加简单和高效。 环境准备 首先需要安装Node.js环境,并确保node命令可以在终端中运行。安装方法可以参考官方文档。 另外,推荐使用yargs…

    node js 2023年6月8日
    00
  • js常用代码段整理

    JS常用代码段整理攻略 在Web开发中,常常需要用到JavaScript来实现动态效果和交互行为。为了提高开发效率和代码质量,我们可以整理出常用的JavaScript代码段,方便在项目中复用。本文将分为以下几个部分来介绍如何整理JS常用代码段: 1. 收集常用代码段 在开发过程中,积累下来的常用代码段十分重要。积累的方式可以是自己写的,也可以是网络上扒得过来…

    node js 2023年6月8日
    00
  • JavaScript 用Node.js写Shell脚本[译]

    让我来详细讲解“JavaScript 用Node.js写Shell脚本[译]”的完整攻略。 什么是 Shell 脚本? Shell 脚本是一种运行在 Unix/Linux 系统上的脚本,用于自动执行一系列的命令或操作。通常用 Shell 脚本来完成常规的任务,如备份数据、自动部署应用程序等。 Shell 脚本通常是使用 Shell 编程语言编写的。Shell…

    node js 2023年6月8日
    00
  • Nodejs 微信小程序消息推送的实现

    下面我将为你介绍“Nodejs 微信小程序消息推送的实现”的完整攻略。 一、前置条件 在进行微信小程序消息推送的实现前,你需要先做好以下准备工作: 1.拥有一个微信小程序2.已申请并获得微信小程序的 AppID 和 AppSecret3.已在微信小程序后台配置了消息模板,并获得消息模板 ID4.已搭建 Node.js 开发环境,安装了相关模块(如 reque…

    node js 2023年6月8日
    00
  • nodejs实现简单的gulp打包

    针对“Node.js实现简单的Gulp打包”的完整攻略,可以分为以下几个步骤: 安装Node.js和Gulp Gulp是一个基于Node.js的自动化构建工具,因此需要先安装Node.js。安装完Node.js之后,可以使用以下命令全局安装Gulp: npm install –global gulp 初始化项目 在项目目录下新建一个package.json…

    node js 2023年6月8日
    00
  • node.js中的http.request.end方法使用说明

    关于“node.js中的http.request.end方法使用说明”,我可以提供以下详细攻略: 1. 什么是http.request.end方法 http.request方法是Node.js中发送http请求的一种基础方法,这个方法返回一个clientRequest对象,可以通过设置options(比如请求方法、请求头部、请求体等)来指定请求的内容。 ht…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部