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日

相关文章

  • mysql如何实现最大连接数

    MySQL通过限制连接数来控制并发访问的数量,从而确保系统的稳定性,并避免资源过度占用。在 MySQL 中,最大的同时连接数由系统配置控制,可通过以下几种方法进行设置。 方法1:修改MySQL配置文件 MySQL 的最大连接数量通常由 max_connections 参数控制。此参数的默认值为 151,可以通过直接修改 MySQL 配置文件进行更改: 打开 …

    database 2023年5月22日
    00
  • Oracle PL/SQL入门案例实践

    Oracle PL/SQL是Oracle数据库中的一种编程语言,用于开发存储过程、触发器、函数等数据库程序。以下是Oracle PL/SQL入门案例实践的攻略,包含了学习PL/SQL的基本步骤和两条实例说明。 学习PL/SQL基本步骤 步骤1:安装Oracle数据库 Oracle官网提供了Oracle数据库的免费试用版,我们可以通过下载和安装Oracle D…

    database 2023年5月21日
    00
  • 10个mysql中select语句的简单用法

    10个MySQL中SELECT语句的简单用法 MySQL的SELECT语句是最常用的SQL语句之一,用于从表中检索数据。以下是10个MySQL SELECT语句的简单用法。 1. 选择所有列 使用以下SELECT语句选择表中的所有列: SELECT * FROM tablename; *通配符表示所有列。 2. 选择特定列 使用以下SELECT语句选取特定列…

    database 2023年5月21日
    00
  • 六分钟学会创建Oracle表空间的实现步骤

    下面是详细讲解“六分钟学会创建Oracle表空间的实现步骤”的完整攻略。 1. 准备工作 在开始创建Oracle表空间之前,需要先准备好以下基础工作: 已经安装Oracle数据库软件; 已经创建好了Oracle实例并启动; 已经以SYS用户登录到Oracle实例。 2. 创建表空间 创建表空间的语法如下所示: CREATE TABLESPACE 表空间名称 …

    database 2023年5月21日
    00
  • Oracle PL/SQL中异常高级特性示例解析

    Oracle PL/SQL中异常高级特性示例解析 功能介绍 Oracle PL/SQL是一种基于SQL扩展开发出的编程语言,支持多种数据类型、控制结构和异常处理机制。在Oracle PL/SQL中,异常处理是一项重要的特性,可以帮助程序员在程序异常情况下进行优雅的处理。 本文将介绍Oracle PL/SQL中异常处理的高级特性,以及两个实际应用场景的示例。 …

    database 2023年5月21日
    00
  • Linux下APACHE&PHP&MYSQL&CGI修改版

    下面我给出“Linux下APACHE&PHP&MYSQL&CGI修改版”的完整攻略。该攻略主要分为以下几个步骤: 步骤1:安装 APACHE 服务器 在 Linux 下安装和配置 APACHE 服务器的步骤如下: 打开终端(Terminal),执行以下命令安装 APACHE 服务器: sudo apt-get update sudo …

    database 2023年5月22日
    00
  • php简单的分页程序第5/5页

    下面我将为您详细讲解“PHP简单的分页程序第5/5页”的完整攻略,包括分页程序的原理、实现步骤以及具体的代码示例。 分页程序原理 分页程序的原理很简单,就是将数据分为多个页面显示,让用户可以方便的查看和跳转。具体来说,分页程序需要以下几个步骤: 获取总记录数 在使用分页程序之前,需要先获取总的记录数,这样才能确定要分成多少页。通常可以使用SQL语句如下: S…

    database 2023年5月21日
    00
  • PHP中全面阻止SQL注入式攻击分析小结

    下面我将为您详细讲解“PHP中全面阻止SQL注入式攻击分析小结”的完整攻略。 什么是SQL注入? SQL注入(SQL Injection)指的是攻击者通过在Web应用程序中的输入窗体等输入区域输入SQL语句的一种攻击方式,从而使SQL语句执行,进而访问、修改或删除数据。 PHP中如何全面阻止SQL注入? 使用预处理语句 预处理语句是一种在数据库中预先定义好S…

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