node.js操作mysql(增删改查)

使用Node.js操作MySQL数据库,需要先安装mysql和mysql2模块,可以通过npm安装:

npm install mysql mysql2

其中mysql2是MySQL的一个纯Node.js驱动程序,提供更好的性能和安全性。接下来,操作MySQL的增删改查可以按如下步骤进行:

连接数据库

首先需要使用mysql2模块中提供的createConnection()方法来创建数据库连接:

const mysql = require('mysql2');

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

connection.connect((err) => {
  if (err) {
    console.error('连接数据库出错:', err);
  } else {
    console.log('数据库已成功连接!');
  }
})

其中,host是数据库服务器的地址,userpassword是登录数据库的账号和密码,database是你要连接的数据库名。

插入数据

使用connection.query()方法可以插入一条数据到数据库中:

const insertSql = 'INSERT INTO users (username, age, gender) VALUES (?, ?, ?)';
const insertValues = ['Tom', 18, 'male'];

connection.query(insertSql, insertValues, (err, results) => {
  if (err) {
    console.error('插入数据出错:', err);
  } else {
    console.log('插入数据成功!', results);
  }
})

其中,insertSql为要插入的SQL语句,?为占位符,insertValues是要插入的值。

查询数据

使用connection.query()方法可以查询数据库中的记录:

const querySql = 'SELECT * FROM users WHERE age > ?';
const queryValues = [18];

connection.query(querySql, queryValues, (err, results) => {
  if (err) {
    console.error('查询数据出错:', err);
  } else {
    console.log('查询到的数据为:', results);
  }
})

其中,querySql为要查询的SQL语句,queryValues是查询条件的值。这里的查询结果将会返回一个数组,数组中的每一项是一条记录。

更新数据

使用connection.query()方法可以更新数据库中的记录:

const updateSql = 'UPDATE users SET gender = ? WHERE id = ?';
const updateValues = ['female', 1];

connection.query(updateSql, updateValues, (err, results) => {
  if (err) {
    console.error('更新数据出错:', err);
  } else {
    console.log('更新数据成功!', results);
  }
})

其中,updateSql为要更新的SQL语句,updateValues是要更新的值。这里的更新结果将会返回一个对象,包含更新的行数。

删除数据

使用connection.query()方法可以删除数据库中的记录:

const deleteSql = 'DELETE FROM users WHERE id = ?';
const deleteValues = [1];

connection.query(deleteSql, deleteValues, (err, results) => {
  if (err) {
    console.error('删除数据出错:', err);
  } else {
    console.log('删除数据成功!', results);
  }
})

其中,deleteSql为要删除的SQL语句,deleteValues是删除条件的值。这里的删除结果将会返回一个对象,包含删除的行数。

以上就是Node.js操作MySQL(增删改查)的完整攻略。接下来,我们来看两个例子。

示例1:插入一条记录

const mysql = require('mysql2');

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

connection.connect((err) => {
  if (err) {
    console.error('连接数据库出错:', err);
  } else {
    const insertSql = 'INSERT INTO users (username, age, gender) VALUES (?, ?, ?)';
    const insertValues = ['Tom', 18, 'male'];

    connection.query(insertSql, insertValues, (err, results) => {
      if (err) {
        console.error('插入数据出错:', err);
      } else {
        console.log('插入数据成功!', results);
      }
      connection.end();
    });
  }
});

示例2:查询所有年龄大于18岁的记录

const mysql = require('mysql2');

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

connection.connect((err) => {
  if (err) {
    console.error('连接数据库出错:', err);
  } else {
    const querySql = 'SELECT * FROM users WHERE age > ?';
    const queryValues = [18];

    connection.query(querySql, queryValues, (err, results) => {
      if (err) {
        console.error('查询数据出错:', err);
      } else {
        console.log('查询到的数据为:', results);
      }
      connection.end();
    });
  }
});

以上就是Node.js操作MySQL(增删改查)的完整攻略及两个示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node.js操作mysql(增删改查) - Python技术站

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

相关文章

  • Node.js之删除文件夹(含递归删除)代码实例

    Node.js之删除文件夹(含递归删除)代码实例 前言 在Node.js中,删除文件夹的操作并不难,但是删除带有子文件夹和子文件的文件夹,就需要使用递归方式删除。本文将会提供两个示例说明在Node.js中如何实现带有子文件夹和子文件的文件夹的删除。 操作步骤 步骤一:安装依赖 在Node.js中,使用fs(file system)模块进行文件和文件夹的操作。…

    node js 2023年6月8日
    00
  • nodejs实现范围请求的实现代码

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它可以在服务器端运行JavaScript,实现了事件驱动、非阻塞I/O模型。 实现范围请求是指客户端请求服务器上的某个资源时,服务器返回部分资源内容而不是全部内容。这种请求方式可以优化网络传输,因为它仅仅请求资源的一部分,例如在视频播放时可以只请求当前播放时间点以后的视频数据。 N…

    node js 2023年6月8日
    00
  • docker中编译nodejs并使用nginx启动

    下面是详细的讲解“docker中编译nodejs并使用nginx启动”的完整攻略: 准备工作: 在开始讲述具体的过程之前,我们需要进行一些准备工作: 安装Docker; 创建一个项目文件夹,并在其中创建一个Dockerfile文件(用于描述Docker镜像的构建过程); 确认你在项目文件夹下安装了package.json和nginx.conf文件; 下载并安…

    node js 2023年6月8日
    00
  • Node.js操作系统OS模块用法分析

    Node.js操作系统OS模块用法分析 Node.js提供了一个内置的操作系统模块OS,可以用来获取操作系统相关的信息和执行操作系统相关的任务。本文将详细讲解Node.js操作系统OS模块的用法。 OS模块的安装 Node.js内置OS模块,因此不需要单独安装。可以在代码中直接引入: const os = require(‘os’); OS模块的常用方法 O…

    node js 2023年6月8日
    00
  • Node.JS利用PhantomJs抓取网页入门教程

    下面是关于“Node.JS利用PhantomJs抓取网页入门教程”的完整攻略。 简介 Node.JS是一个基于事件驱动的JavaScript服务器端解析器,PhantomJS是一个基于WebKit的无头浏览器,可以模拟浏览器的行为并获取网页内容。Node.js和PhantomJS的结合可以方便高效地抓取网页内容,具有广泛的应用价值。 一、准备工作 我们需要先…

    node js 2023年6月8日
    00
  • Nodejs 模块化实现示例深入探究

    首先需要明确一下什么是 Node.js 的模块化。 在 Node.js 中,每个文件就是一个模块,模块是独立的,可以被其他模块引用和调用。同时,Node.js 还支持将多个模块组成一个完整的功能,这就是模块化。 Node.js 中常用的模块化方案有两种,分别是 CommonJS 和 ES6 模块化。其中,CommonJS 是 Node.js 原生支持的模块化…

    node js 2023年6月8日
    00
  • JS获取表格视图所选行号的ids过程解析

    下面是详细讲解“JS获取表格视图所选行号的ids过程解析”的完整攻略: 1. 背景和需求 在开发Web应用时,往往需要用到表格视图,用户需要选择其中的一行或多行,然后对这些行进行操作,比如删除、修改等。而开发者需要获取用户所选行的行号或id,然后才能处理这些操作。 2. JS获取表格视图所选行的ids过程分析 2.1. 获取表格视图对象 首先,需要获取表格视…

    node js 2023年6月8日
    00
  • javascript实现小型区块链功能

    下面将为您详细讲解“JavaScript实现小型区块链功能”的完整攻略。 一、理解区块链的基本概念 区块链是一种颠覆式的技术,其基本特点是去中心化、公开透明、不可篡改。区块链由多个区块组成,每个区块都包含一组交易记录,每个区块通过加密方式与前一个区块连接形成区块链。区块链内的交易记录是公开透明的,区块链上的记录不可删除,也不可篡改。 二、JavaScript…

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