Node如何后台数据库使用增删改查功能

yizhihongxing

Node.js 是一个基于 V8 引擎的 JavaScript 运行环境,它可以在服务器上运行 JavaScript,用于开发后台应用程序。要使用 Node.js 连接数据库进行增删改查操作,可以使用 Node.js 中的模块来连接数据库并执行 SQL 查询。具体步骤如下:

步骤一:安装数据库驱动模块

首先,需要使用 npm 安装需要的数据库驱动模块。例如,如果需要连接 MySQL 数据库,可以安装 mysql 模块。安装命令如下:

npm install mysql

步骤二:创建连接池

创建一个连接池,用于在多个请求之间共享数据库连接。示例代码如下:

const mysql = require('mysql');

const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'database_name'
});

步骤三:执行 SQL 查询

使用连接池,在代码中执行 SQL 查询。示例代码:

// 查询
pool.query('SELECT * FROM users', (error, results, fields) => {
  if (error) {
    console.error(error);
  } else {
    console.log(results);
  }
});

// 插入
pool.query('INSERT INTO users SET ?', { name: 'Tom', age: 22 }, (error, results, fields) => {
  if (error) {
    console.error(error);
  } else {
    console.log(results);
  }
});

// 删除
pool.query('DELETE FROM users WHERE id=?', [1], (error, results, fields) => {
  if (error) {
    console.error(error);
  } else {
    console.log(results);
  }
});

// 更新
pool.query('UPDATE users SET age=? WHERE name=?', [23, 'Tom'], (error, results, fields) => {
  if (error) {
    console.error(error);
  } else {
    console.log(results);
  }
});

示例一:使用 Express 框架完成一个增删改查的API

const express = require('express');
const mysql = require('mysql');

const app = express();

// 创建连接池
const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'database_name'
});

// 查询
app.get('/users', (req, res) => {
  pool.query('SELECT * FROM users', (error, results, fields) => {
    if (error) {
      console.error(error);
      res.status(500).end();
    } else {
      res.json(results);
    }
  });
});

// 插入
app.post('/users', (req, res) => {
  const { name, age } = req.body;
  pool.query('INSERT INTO users SET ?', { name, age }, (error, results, fields) => {
    if (error) {
      console.error(error);
      res.status(500).end();
    } else {
      res.json(results);
    }
  });
});

// 删除
app.delete('/users/:id', (req, res) => {
  const { id } = req.params;
  pool.query('DELETE FROM users WHERE id=?', [id], (error, results, fields) => {
    if (error) {
      console.error(error);
      res.status(500).end();
    } else {
      res.json(results);
    }
  });
});

// 更新
app.put('/users/:id', (req, res) => {
  const { id } = req.params;
  const { age } = req.body;
  pool.query('UPDATE users SET age=? WHERE id=?', [age, id], (error, results, fields) => {
    if (error) {
      console.error(error);
      res.status(500).end();
    } else {
      res.json(results);
    }
  });
});

const port = 3000;
app.listen(port, () => {
  console.log(`Server listening on port ${port}`);
});

示例二:使用 Sequelize ORM

Sequelize 是一个 Node.js ORM 框架,它可以将数据库表映射到 JavaScript 对象,方便操作数据库。下面是一个使用 Sequelize 完成增删改查的示例:

const Sequelize = require('sequelize');

// 创建连接池
const sequelize = new Sequelize('database_name', 'root', 'password', {
  host: 'localhost',
  dialect: 'mysql'
});

// 定义模型
const User = sequelize.define('user', {
  name: Sequelize.STRING,
  age: Sequelize.INTEGER
});

// 查询
User.findAll().then(result => {
  console.log(result);
}).catch(error => {
  console.error(error);
});

// 插入
User.create({ name: 'Tom', age: 22 }).then(result => {
  console.log(result);
}).catch(error => {
  console.error(error);
});

// 删除
User.destroy({ where: { id: 1 } }).then(result => {
  console.log(result);
}).catch(error => {
  console.error(error);
});

// 更新
User.update({ age: 23 }, { where: { name: 'Tom' } }).then(result => {
  console.log(result);
}).catch(error => {
  console.error(error);
});

以上是两个示例,都是可以实现 Node.js 中数据库的基本 CRUD 操作的完整攻略,其中使用 Sequelize ORM 比较方便,但用的时候需要注意一点 ORM 的性能问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Node如何后台数据库使用增删改查功能 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • SQL 求和

    SQL中,求和是一个非常基础的聚合函数,用于对某些数值型字段的值进行求和运算。下面是SQL求和的完整攻略,包含语法、示例和常见注意事项。 SQL求和的语法 SQL求和的语法格式如下: SELECT SUM(column_name) FROM table_name; 其中,SUM()函数用于对指定列名的值进行求和,FROM子句用于指定要操作的数据表名。 需要注…

    database 2023年3月27日
    00
  • Springboot + Mysql8实现读写分离功能

    下面是Springboot + Mysql8实现读写分离功能的完整攻略及示例说明。 1. 读写分离介绍 读写分离是指将数据库中的读和写操作分配到不同的节点上进行,以提升数据库的性能和可用性。一般来说,读操作比写操作多得多,而且读操作不涉及到数据的修改,所以可以通过将读操作分配到多个节点上,从而提高数据库读取的效率。 2. Mysql8读写分离实现原理 Mys…

    database 2023年5月21日
    00
  • redis启动出错Creating Server TCP listening socket 127.0.0.1:6379: bind: No error(转) redis启动出错Creating Server TCP listening socket 127.0.0.1:6379: bind: No error

      windows下安装Redis第一次启动报错: [2368] 21 Apr 02:57:05.611 # Creating Server TCP listening socket 127.0.0.1:6379: bind: No error 解决方法:在命令行中运行 redis-cli.exe 127.0.0.1:6379>shutdown not…

    Redis 2023年4月11日
    00
  • linux vmstat命令详解和使用实例(linux系统监控工具)

    首先,vmstat是一款在Linux系统中常用的监控工具,可以用于查看系统资源的使用情况。在本篇攻略中,我们将重点讲解vmstat命令的使用方式以及其输出结果的含义。 一、命令语法 vmstat命令的基本语法如下: vmstat [options] [delay [count]] options: 可选参数,可以用来定制输出内容、调整格式等 delay: 可…

    database 2023年5月21日
    00
  • 数据库开发总结(ADO.NET小结)

    数据库开发总结 (ADO.NET小结) 是一篇介绍 ADO.NET 的文章,本文将为你提供详细的攻略。 ADO.NET 简介 ADO.NET 是一种用于访问数据源的技术,它能够让我们轻松地访问多种数据源,如数据库、XML 文件等。ADO.NET 提供了一组数据访问技术,包括连接、命令、读取和写入数据等操作,具有高性能和可扩展性。 ADO.NET 中的核心对象…

    database 2023年5月21日
    00
  • Oracle11g完全卸载的详细步骤(超管用)

    Oracle11g完全卸载的详细步骤(超管用) 1. 确认服务状态 在执行卸载前,需要保证Oracle相关服务已经停止运行,并且成功删除了Oracle安装目录和库文件等资源。 可以通过以下步骤,依次检查确认服务状态: 打开 “运行”,运行“services.msc”命令。 在列表中找到所有以Oracle名称开头的服务,确保所有的Oracle服务都已停止运行。…

    database 2023年5月22日
    00
  • shell脚本监控mysql主从状态

    Shell脚本监控MySQL主从状态 本文将介绍如何通过编写Shell脚本来监控MySQL的主从复制状态。在MySQL主从复制环境中,主服务器上的数据会被复制到从服务器上。如果主从复制状态异常,就需要及时进行处理,以避免数据的丢失。通过编写Shell脚本,可以自动化地检测主从复制状态,以及采取必要的措施来调整主从复制状态。 1. 前置条件 在开始编写Shel…

    database 2023年5月22日
    00
  • CentOS6.2上安装Oracle10g报ins_emdb.mk错误处理方法

    下面是详细的攻略: 问题描述: 在CentOS6.2上安装Oracle10g时,可能会遇到以下报错: ins_emdb.mk:20: *** missing separator. Stop. 这是由于Oracle安装程序在生成ins_emdb.mk文件时出现了错误,导致编译时出现问题。下面是解决方法。 解决方法: 步骤如下: 安装依赖 在安装Oracle之前…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部