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

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日

相关文章

  • Oracle层次查询和with函数的使用示例

    Oracle层次查询和with函数的使用示例 本文将详细讲解Oracle数据库中的层次查询和with函数的使用方法。层次查询是指在一个表中通过某种规则(如父子关系)展开成一棵树形结构,而with函数是一种生成临时表的方法,可以在查询中灵活使用。 层次查询 在Oracle数据库中,层次查询需要使用到START WITH和CONNECT BY子句。CONNECT…

    database 2023年5月21日
    00
  • postgresql修改完端口后直接psql连接数据库报错的解决

    针对“postgresql修改完端口后直接psql连接数据库报错”的解决方案,以下是完整攻略: 1. 查看端口 首先,建议使用如下命令查看 postgresql 当前正在使用的端口: $ sudo netstat -tanpl | grep postgres 上述命令可以列出系统中正在占用端口的进程,若 PostgreSQL 正在运行,应该能看到相应端口(默…

    database 2023年5月19日
    00
  • LNMP环境下安装Redis,以及php的redis扩展

    1.下载 sudo wget http://download.redis.io/releases/redis-4.0.9.tar.gz 2.解压 sudo tar zvxf redis-4.0.9.tar.gz 3.重命名 sudo mv redis-4.0.9/ redis 4.编译 cd redis sudo make sudo make test su…

    Redis 2023年4月12日
    00
  • linux查看目录的四种方法(ls只显示目录)

    这里是关于“Linux查看目录的四种方法”的详细攻略。 1. 使用ls命令查看目录 在Linux系统中,使用ls命令可以查看当前工作目录下的所有文件和目录。如果只想看到目录,可以使用ls -d */命令,其中-d表示只展示目录,*/表示匹配所有目录名。 示例一:查看当前目录下的所有目录 $ ls -d */ dir1/ dir2/ dir3/ 2. 使用fi…

    database 2023年5月22日
    00
  • SQL 变换已排名的结果集

    SQL变换已排名的结果集是通过使用SQL语言中窗口函数(Window Functions)实现的。窗口函数是一种特殊类型的SQL函数,它可以执行诸如计算排序、聚合等操作,同时不会改变结果集中原始行的排列顺序。 下面是SQL变换已排名的结果集的完整攻略: 窗口函数的基本语法 窗口函数的基本语法如下: <窗口函数> OVER ([PARTITION …

    database 2023年3月27日
    00
  • 详解SQL四种语言:DDL DML DCL TCL

    详解SQL四种语言:DDL、DML、DCL、TCL SQL(Structured Query Language)是关系型数据库管理系统的标准语言。SQL语言包括DDL、DML、DCL、TCL四种语言。下面将详细介绍这四种语言的含义、语法和示例。 DDL DDL(Data Definition Language,数据定义语言)是用于定义数据库对象的语言,主要包…

    database 2023年5月22日
    00
  • MySQL5.6基本优化配置

    MySQL5.6基本优化配置是数据库性能优化的重要一环,本文将从如下三个方面来进行详细讲解: 硬件选型与参数配置 MySQL参数优化 SQL语句优化 1. 硬件选型与参数配置 1.1 硬件选型 对于MySQL数据库,硬件选型非常重要。基于不同的应用场景,硬件选型的重点也不同,通常需要考虑CPU、内存、磁盘IO性能等因素。 MySQL在CPU的利用上较为看重单…

    database 2023年5月22日
    00
  • Linux下批量Kill多个进程的方法

    当需要关闭多个进程时,我们可以使用Linux下的killall命令来批量Kill这些进程。以下是完整攻略: 1. 查看进程信息 首先,我们需要查看要杀死的进程的信息,可以通过以下命令来查看: ps aux | grep <进程名> 以上命令将返回所有与进程名匹配的进程的详细信息。 2. 使用killall命令杀死进程 使用以下命令可以杀死进程: …

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