使用Express+Node.js对mysql进行增改查操作

yizhihongxing

使用Express+Node.js对MySQL进行增、改、查操作的步骤如下:

  1. 安装依赖库

在终端输入以下命令:

npm install express mysql --save
  1. 连接到MySQL数据库

在之前所述的程序文件中,require mysql 并定义数据库信息:

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

在连接完成后,使用connection对象来连接数据库:

connection.connect((err) => {
  if (err) throw err;
  console.log('Connected!');
});
  1. 执行SQL语句

可使用connection.query方法执行查询语句,该方法有两个参数:SQL字符串和查询结果回调函数,如:

connection.query('SELECT * FROM table_name', (err, rows) => {
  if (err) throw err;
  console.log(rows);
});

可使用connection.query方法执行添加数据操作,该方法有两个参数:SQL字符串和添加结果回调函数。

connection.query('INSERT INTO table_name SET ?', newRecordObject, (err, result) => {
  if (err) throw err;
  console.log(result);
});

在新记录对象中声明键值对以设置记录值。

let newRecordObject = {
  column_1: 'value_1',
  column_2: 2,
  column_3: true
};

可使用connection.query方法执行更新记录操作,该方法有两个参数:SQL字符串和更新结果回调函数。

connection.query('UPDATE table_name SET column_1 = ? WHERE id = ?', ['new_value', 1], (err, result) => {
  if (err) throw err;
  console.log(result);
});

在第二个参数的数组中声明两个元素,第一个为新的列值,第二个为要更新的记录的 ID 值。

示例1:如何使用Express来添加一条新记录?

在app.js中,新增路由/API,通过POST方法向table_name添加一条新记录。

app.post('/add', (req, res) => {
  let newRecordObject = req.body;
  let sql = 'INSERT INTO table_name SET ?';
  connection.query(sql, newRecordObject, (err, result) => {
    if (err) throw err;
    res.send('New record added!');
  });
});

在前端使用AJAX请求并将新添加记录的数据作为参数发送:

let newRecordObject = {
  column_1: 'new_value_1',
  column_2: 123,
  column_3: true
};

$.ajax({
  url: '/add',
  type: 'POST',
  data: newRecordObject,
  success: function(result) {
    console.log(result);
  }
});

示例2:如何使用Express来查询记录?

在app.js中,建立新的路由/API,通过GET方法查询table_name中的数据:

app.get('/list', (req, res) => {
  let sql = 'SELECT * FROM table_name';
  connection.query(sql, (err, rows) => {
    if (err) throw err;
    res.send(rows);
  });
});

在前端使用AJAX请求并接收服务器返回的JSON对象:

$.ajax({
  url: '/list',
  type: 'GET',
  dataType: 'json',
  success: function(result) {
    console.log(result);
  }
});

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Express+Node.js对mysql进行增改查操作 - Python技术站

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

相关文章

  • node.js中axios使用心得总结

    当我们开发后端服务器时,很多情况下需要与其他的API进行交互,获取其他系统的数据或操作其他系统。其中一个常用的NodeJS库就是axios。这里就给大家分享一下我对于node.js中的axios的心得总结。 安装 首先你需要安装axios,这可以通过npm命令安装。在你的命令行中输入以下命令: npm install axios 基本用法 在NodeJS中使…

    node js 2023年6月8日
    00
  • node.js中的buffer.Buffer.isEncoding方法使用说明

    来介绍一下Node.js中的Buffer.isEncoding()方法。 方法介绍 Buffer.isEncoding(encoding)方法用来判断字符串编码是否为Node.js支持的合法编码名。如果传入的encoding参数不是字符串编码名,该方法返回false。该方法的原型定义如下: Buffer.isEncoding(encoding: string…

    node js 2023年6月8日
    00
  • node.js安装及环境配置超详细步骤讲解(Windows系统安装包方式)

    下面我为你详细讲解如何在Windows系统中安装和配置node.js环境。 1.下载安装包 首先你需要在官网下载适合你系统的node.js安装包,我们这里以Windows系统为例。 选择你需要的版本,一般我们建议下载LTS版本,因为它更加稳定和可靠,也更好维护和更新。 2.打开安装程序 下载完成后,双击下载好的.msi文件,即可开始安装进程。这里我们推荐使用…

    node js 2023年6月8日
    00
  • css多种方式实现等高布局的示例代码

    实现等高布局是Web页面设计中常见的任务之一,可以让网页看起来更加美观和统一。下面我将以CSS多种方式实现等高布局的示例代码为例,为大家讲解实现等高布局的完整攻略。 一、基础知识 在讲解CSS多种方式实现等高布局之前,我们先来了解一些基础知识。 1.1 盒子模型 盒子模型指的是在Web页面设计中,所有的HTML元素都可以看做是一个矩形的盒子,并根据其盒子模型…

    node js 2023年6月8日
    00
  • 10个Node.js库帮助你优化代码和简化开发

    下面是对应的完整攻略: 10个Node.js库帮助你优化代码和简化开发 本文介绍10个可以帮助Node.js开发者提升开发效率并优化代码的库。 1. Lodash lodash是一个流行的 JavaScript 工具库,可以用于开发 Node.js 应用。这个库提供了很多通用函数,这些函数可以处理大量数据和各种不同数据类型。这个库的使用方法很简单,只需要通过…

    node js 2023年6月8日
    00
  • node.js读取命令行参数详解

    Node.js读取命令行参数详解 在Node.js中,我们可以通过命令行输入参数来执行不同的功能。本文就来详细讲解如何在Node.js中读取命令行参数。 基础知识 使用Node.js的process对象可以获得所有与进程相关的信息,包括命令行参数,常用的方法有: process.argv:返回一个数组,包含命令行参数,第一个元素是Node.js程序的路径,第…

    node js 2023年6月8日
    00
  • golang、python、php、c++、c、java、Nodejs性能对比

    Golang、Python、PHP、C++、C、Java、Node.js性能对比 在选择一种编程语言时,性能通常是衡量其优缺点的重要标准之一。在本文中,我们将比较Golang、Python、PHP、C++、C、Java和Node.js的性能。我们将以以下方式进行比较: 编写测试脚本,测试各种语言的运行时间; 对各种语言的内存消耗进行比较; 观察并解释运行脚本…

    node js 2023年6月8日
    00
  • nodejs 实现钉钉ISV接入的加密解密方法

    下面是针对“nodejs 实现钉钉ISV接入的加密解密方法”的攻略: 1. 了解加密解密流程 钉钉开放平台的接口数据传输是加密的,因此我们需要实现加密,解密的逻辑来完成与钉钉服务器的交互。在实现前,我们需要了解这个流程。 接口请求方产生随机字符串nonce 接口请求方使用自己的appSecret和钉钉开放平台的suiteTicket产生签名signature…

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