Node.js对MySQL数据库的增删改查实战记录

这篇文章主要给大家介绍了关于Node.js对MySQL数据库的增删改查的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作介绍的非常详细,需要的朋友可以参考下

在项目中操作数据库的三大步骤

  • 安装操作 mysql 数据库的第三方模块(mysql)
  • 通过 mysql 模块连接到 mysql 数据库
  • 通过 mysql 模块执行 sql 语句
  • Node.js对MySQL数据库的增删改查实战记录

    操作数据库的具体步骤

    一:安装mysql模块及express模块

    mysql模块是托管于npm上的第三方模块,我们可以运行下方命令安装mysql第三方包,通过它来建立node.js项目与mysql数据库的连接,进而操作数据库(以下代码在终端中运行)

    ?

    1

    2

    3

    4

    //安装mysql第三方模块

    npm i mysql

    //安装express第三方模块

    npm i express

    二:通过express创建一个服务器

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    // 引入express

    const express = require('express');

    // 创建服务器

    const app = express();

    // 启动服务器

    app.listen(80, () => {

    console.log('http://127.0.0.1');

    })

    三:配置mysql模块

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

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    // 1.引入mysql

    const mysql = require('mysql');

    // 2.建立与mysql数据库连接

    var db = mysql.createpool({

    host: '127.0.0.1', // 数据库的 ip 地址

    user: 'root', // 登录数据库的账号

    password: '123456', // 登录数据库的密码

    database: 'web67' // 指定要操作哪个数据库

    });

    四:测试 mysql 模块能否正常工作

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

    ?

    1

    2

    3

    4

    5

    6

    7

    // 测试mysql模块是否能正常运行,查找所有数据并显示至页面

    db.query('select * from one', (err, data) => {

    if (err) return console.log(err.message);

    if (data.length === 0) return console.log('数据库无数据');

    console.log(data) //data是从数据库中查找到的数据

    })

    });

    以上代码全部准备完毕后开始对mysql数据库中的数据进行增删改查:

    select:查询one数据表中所有的数据:

    案例代码:

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    // 获取数据库中的数据

    app.get('/selectuser', (req, res) => {

    // 查看数据库连接是否成功

    db.query('select * from one', (err, data) => {

    //err不为空则表示错误

    if (err) return console.log(err.message);

    if (data.length === 0) return console.log('获取失败');

    res.send(data)

    })

    });

    insert into:向数据库中添加数据:

    案例代码:

    这里用到了post请求,需要通过req.body接收客户端请求的数据,并通过app.use(express.urlencoded({extended:false}))代码行将数据进行解析(见下方完整代码)

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    // 向数据库添加数据

    app.post('/insertuser', (req, res) => {

    // 接收客户端请求的数据

    const body = req.body;

    // 构建sql语句

    const sql = 'insert into one set ?'

    // 将客户请求的数据插入到数据库中

    db.query(sql, body, (err, data) => {

    if (err) return console.log(err.message);

    if (data.affectedrows !== 1) return console.log('添加失败');

    res.send({

    status: 0,

    msg: '添加数据成功'

    })

    })

    })

    upadte:修改数据库中的数据:

    案例代码:

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    // 修改数据库中数据

    app.post('/updateuser', (req, res) => {

    //接收客户端请求的数据

    const body = req.body;

    //构建修改的sql语句

    const sql = 'update one set uname=? where id=?';

    db.query(sql, [body.uname, body.id], (err, data) => {

    if (err) return console.log(err.message);

    if (data.affectedrows !== 1) return console.log('修改失败');

    res.send({

    status: 0,

    msg: '修改数据成功'

    })

    })

    })

    delete:删除数据库中的数据:

    案例代码:

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    // 删除数据库中的数据

    app.get('/deleteuser/:id', (req, res) => {

    // 获取客户端提交的数据,req.params通过:冒号匹配动态参数

    const id = req.params.id;

    // 构建删除的sql语句,一般为了防止数据被永久性删除,我们会通过update将该条数据对应的

    状态码先修改为0

    const sql = 'update one set status=0 where id=?';

    // 执行sql

    db.query(sql, id, (err, data) => {

    if (err) return console.log(err.message);

    if (data.affectedrows !== 1) return console.log('删除失败');

    res.send({

    status: 0,

    msg: '删除成功'

    })

    })

    })

    到这里通过express中间件对mysql数据库的增删改查就完成啦,【完整代码】如下:

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    // 通过express中间件实现对mysql数据库的增删改查

    const express = require('express');

    // 创建一个服务器

    const app = express();

    // 解析客户端请求的数据

    app.use(express.urlencoded({ extended: false }));

    // 引入mysql操作数据库

    const mysql = require('mysql');

    // 配置数据库

    const db = mysql.createpool({

    host: '127.0.0.1', //数据库ip地址

    user: 'root', //数据库账号

    password: '123456', //数据库密码

    database: 'web67' //数据库名称

    });

    // 获取数据库中的数据

    app.get('/selectuser', (req, res) => {

    // 查看数据库连接是否成功

    db.query('select * from one', (err, data) => {

    if (err) return console.log(err.message);

    if (data.length === 0) return console.log('获取失败');

    res.send(data)

    })

    });

    // 向数据库添加数据

    app.post('/insertuser', (req, res) => {

    // 接收客户端请求的数据

    const body = req.body;

    // 构建sql语句

    const sql = 'insert into one set ?'

    // 将客户请求的数据插入到数据库中

    db.query(sql, body, (err, data) => {

    if (err) return console.log(err.message);

    if (data.affectedrows !== 1) return console.log('添加失败');

    res.send({

    status: 0,

    msg: '添加数据成功'

    })

    })

    })

    // 修改数据库中数据

    app.post('/updateuser', (req, res) => {

    const body = req.body;

    const sql = 'update one set uname=? where id=?';

    db.query(sql, [body.uname, body.id], (err, data) => {

    if (err) return console.log(err.message);

    if (data.affectedrows !== 1) return console.log('修改失败');

    res.send({

    status: 0,

    msg: '修改数据成功'

    })

    })

    })

    // 删除数据库中的数据(指定id)

    app.get('/deleteuser/:id', (req, res) => {

    const id = req.params.id; //id为动态参数,所以要通过req.params获取

    const sql = 'update one set status=0 where id=?'

    db.query(sql, id, (err, data) => {

    if (err) return console.log(err.message);

    if (data.affectedrows !== 1) return console.log('删除数据失败');

    res.send({

    status: 0,

    msg: '删除成功'

    })

    })

    })

    // 启动服务器

    app.listen(80, () => {

    console.log('http://127.0.0.1');

    })

    总结

    到此这篇关于node.js对mysql数据库增删改查的文章就介绍到这了,更多相关node.js对mysql增删改查内容请搜索钦钦技术栈以前的文章或继续浏览下面的相关文章希望大家以后多多支持钦钦技术栈!

    原文链接:https://blog.csdn.net/SunFlower914/article/details/120708890

    版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/4869/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。

    (0)
    上一篇 2022-07-23 12:46:04
    下一篇 2022-07-23 12:46:17

    软件定制开发公司

    相关阅读

    发表回复

    登录后才能评论
    通知:禁止投稿所有关于虚拟货币,币圈类相关文章,发现立即永久封锁账户ID!