IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 使用node.js实现对mysql数据库的增删改查 -> 正文阅读

[大数据]使用node.js实现对mysql数据库的增删改查

1.在项目中操作数据库的步骤

1.安装操作 MySQL 数据库的第三方模块(mysql

2.通过 mysql 模块连接到 MySQL 数据库

3.通过 mysql 模块执行 SQL 语句

2.安装与配置 mysql 模块

2.1安装 mysql 模块

mysql 模块是托管于 npm 上的第三方模块。它提供了在 Node.js 项目中连接和操作 MySQL 数据库的能力。想要在项目中使用它,需要先运行如下命令,将 mysql 安装为项目的依赖包

npm i mysql

2.2配置 mysql 模块

在使用 mysql 模块操作 MySQL 数据库之前,必须先对 mysql模块进行必要的配置,主要的配置步骤如下

// 1. 导入 mysql 模块
var mysql  = require('mysql')

// 2. 建立与 mysql 数据库的连接
var db = mysql.createPool({
  host: '127.0.0.1',  // 数据库的 ip 地址
  user: 'root', // 登录数据库的账号
  password: 'root', // 登录数据库的密码2
  database: 'my_db_01' // 指定要操作哪个数据库
})

? ?3.测试 mysql 模块能否正常工作

1.调用 db.query() 函数,指定要执行的 SQL 语句,通过回调函数拿到执行的结果

2.以下是示例

//检测mysql模块能否正常工作
db.query("select 1" ,(err,data)=>{
if(err)  return console.log(err.message)
//只有能打印出[RowDataPacket{"1":1}]的结果,就证明数据库链接正常
console.log(data)
})

4.创建一个服务器启动文件然后安装对应的包

//安装express包
npm i express
//安装mysql包
npm i mysql

5.我们先要创建一个数据库中的表,再对表中的数据进行增删改查

?

6.导入安装的包和一些配置项

//导入mysql
const mysql = require("mysql");
//导入express
const express = require("express");
//创建服务器实例
const app = express();
//配置解析表单数据的中间件
app.use(express.urlencoded({ extended: false }))
//配置数据库的相关信息
const db = mysql.createPool({
    host: '127.0.0.1',  // 数据库的 ip 地址
    user: 'root', // 登录数据库的账号
    password: 'root', // 登录数据库的密码
    database: "web67wxw2" //指定操作的数据库
})

?7.使用 select 语句查询数据

1.需求:查询 users 表中所有的数据

?2.案例代码

//查询数据
app.get("/books", (req, res) => {
    // 用db.query测试 mysql 模块能够正常运行
    db.query('select * from books', (err, data) => {
        // mysql 模块如果错误,err 中会返回错误信息
        if (err) return console.log(err.message)

        // 能够成功的执行 SQL 语句
        res.send({
            status: 0,
            message: "获取成功",
            data
        })
    })
})

8.使用 insert into 语句插入数据

1.需求: 向 users 表中新增数据

2.案例代码

//向数据库插入数据
app.post("/addbooks", (req, res) => {
    const data = req.body
    const sql = "insert into books set ?"
    // 用db.query测试 mysql 模块能够正常运行
    db.query(sql, data, (err, data) => {
        // mysql 模块如果错误,err 中会返回错误信息
        // console.log(data);
        if (err) return console.log(err.message)
        if (data.affectedRows !== 1) return console.log("数据插入失败");
        // 能够成功的执行 SQL 语句
        res.send({
            status: 0,
            message: "数据插入成功"
        })
    })
})

9.使用 update 语句更新数据

1.需求:更新表中的数据

2.案例代码

????????

//向数据库更新数据
app.post("/updatebooks", (req, res) => {
    const data = req.body;
    // return console.log(data);
    //定义更新的sql模板
    const sql = "update books set ?  where id = ?"
    //启动sql
    db.query(sql, [data, data.id], (err, data) => {
        if (err) return console.log(err.message);
        if (data.affectedRows !== 1) return console.log("更新失败");
        res.send({
            status: 0,
            messge: "更新成功"
        })
    })
})

10.使用 delete 语句删除数据

1.在删除数据时,推荐根据 id 这样的唯一标识,来删除对应的数据

?2.注意:如果 sql 语句中有多个占位符,则必须使用数据为每个占位符指定具体的值,如果 sql 语句中只有一个占位符,则可以省略

3.案例代码

//删除数据库数据
//删除id为10的那条数据
const sql = "delete from books where id = ?"
db.query(sql, 10, (err, data) => {
    if (err) return console.log(err.message);
    //注意:执行delete语句之后,结果也是一个对象,也有affectedRows属性  
    if (data.affectedRows === 1) return console.log("删除数据成功");
})

以上就是?使用node.js实现对mysql数据库的增删改查的所有内容了,我写的代码均为案例代码,仅供参考,你们可以根据实际情况做一些修改。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-15 11:51:47  更:2021-10-15 11:54:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:58:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码