实战学习:聊聊Node.js怎么操作数据库

本篇文章分享node.js服务端实战,介绍一下node操作数据库的方法,希望对大家有所帮助!

实战学习:聊聊Node.js怎么操作数据库

本系列是使用node作为服务器开发的操作过程记录,记录一下主要的内容并且整理过程的脉络,以初学者的方式将学习内容记录下来,从0到1逐步的学习node,教程使用过程中用到的是基于express的node框架。【相关教程推荐:nodejs视频教程、编程教学】

连接数据库

const mysql = require('mysql')const db = mysql.createPool({  host: 'localhost',  user: 'root',  password: '123123123',  database: 'test',  insecureAuth : true})const sql = `select *  from new_table`db.query(sql, (err, results) => {//   console.log(err)  if(err){    console.log(err.message)  }else{    console.log(results) //查询语句返回的是数组  }})

登录后复制

第一次连接数据库马上就报错了,还能怎么办呢,直接谷歌搜吧

ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

登录后复制

image.png

大概意思是涉及到一些操作权限的问题,需要我们到数据库中执行这个语句,如果没报错的话大家可以跳过这个步骤。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '这个地方替换成你的数据库密码';

登录后复制

在mysqlworkbrench中执行一下即可,然后回到我们的代码中继续执行连接数据库的操作

image.png

当输出这个语句的时候证明已经是连接成功的了

image.png

insert语句

const obj = {    name:'xiaoma',    password:'666666'}const insertSql = `insert into new_table (name,password) values (?,?)`db.query(insertSql,[obj.name,obj.password],(err,res)=>{    if(err){        console.log(err.message)    }else{        console.log(res)    }})

登录后复制

image.png

affectedRows为影响行,影响行数为1说明执行insert语句成功,所以我们这边可以修改一下insert成功的判断

 if(res.affectedRows == 1){    console.log('insert success')}

登录后复制

简化新增sql

const obj = {    name:'xiaoma',    password:'123123'}const insertSql = `insert into new_table SET ?`db.query(insertSql,obj,(err,res)=>{    if(err){        console.log(err.message)    }    if(res.affectedRows == 1){        console.log('insert success')    }})

登录后复制

update语句

const updateSql = `Update  new_table set  name=? ,password=? where id=?`// const insertSql = `insert into new_table SET ?`db.query(updateSql,[obj.name,obj.password,obj.id],(err,res)=>{    if(err){        console.log(err.message)    }    if(res.affectedRows == 1){        console.log('insert success')    }})//简化写法const updateSql = `Update  new_table set ? where id=?`db.query(updateSql,[obj,obj.id],(err,res)=>{})

登录后复制

delete语句

const updateSql = `delete from  new_table  where id=?`db.query(updateSql,5,(err,res)=>{    if(err){        console.log(err.message)    }    if(res.affectedRows == 1){        console.log('insert success')    }})

登录后复制

更多node相关知识,请访问:node!

以上就是实战学习:聊聊Node.js怎么操作数据库的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2697098.html

(0)
上一篇 2025年3月7日 18:39:35
下一篇 2025年2月23日 07:55:57

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 一文详解多版本node的安装和管理

    本篇文章带大家聊聊多版本node的管理,介绍一下多版本node的安装与切换详细操作,希望对大家有所帮助! 安装多版本node的原因: 在项目开发过程中,不同项目使用的nodejs版本不同,有时会因为node版本过高或太低,导致报错;如何在同…

    2025年3月7日 编程技术
    200
  • 一文聊聊Node包管理发展的五个阶段

    从2009年 node 诞生至今,node 生态发展繁荣,围绕 node 生态衍生出的 node 包管理器百花齐放,先后出现了 npm、kpm、pnpm、yarn、cnpm 等等。实际上 node 包管理器发展主要分5个阶段,下面我们一起看…

    2025年3月7日 编程技术
    200
  • 一文详解Nodejs怎么卸载(步骤分享)

    node怎么卸载?下面本篇文章给大家分享一下node卸载超详细步骤,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 Node卸载超详细步骤 1、打开系统的控制面板,点击卸载程序,卸载nodejs 【相关教程推荐:node、…

    2025年3月7日 编程技术
    200
  • 浅析nodejs中怎么使用JWT?

    本篇文章带大家了解一下jwt,介绍一下jwt在node中的应用,以及jwt的优缺点,希望对大家有所帮助! 什么是JWT JWT也就是JSON Web Token的缩写,也就是为了在网络应用环境中一种认证解决方案,在传统的认证机制中,无非是一…

    2025年3月7日 编程技术
    200
  • 一文带你了解Node.js中的http模块

    本篇文章给大家了解一下node.js http模块,介绍一下使用http模块创建服务器的方法,希望对大家有所帮助! 1、什么是http 在百度百科的解释: 超文本传输协议(Hyper Text Transfer Protocol,HTTP)…

    2025年3月7日 编程技术
    200
  • Node实战学习:浏览器预览项目所有图片

    在前端实际项目开发中,会有这样一种场景。每次引入新的图片,并不知道这个资源是否被引用过,所以会点开存放图片的资源一个个去看。实际问题是: 1.图片并不是放到一个目录下的,可能存在任何的地方,不好查找 2.费时间,费力 3.可能会重复引入图片…

    2025年3月7日
    200
  • 聊聊Node.js中怎么用async函数

    借助于新版 V8 引擎,Node.js 从 7.6 开始支持 async 函数特性。今年 10 月 31 日,Node.js 8 也开始成为新的长期支持版本,因此你完全可以放心大胆地在你的代码中使用 async 函数了。在这边文章里,我会简…

    2025年3月7日
    200
  • 一文带你了解node中的的模块系统

    本篇文章带大家进行node学习,深入浅出的了解node中的的模块系统,希望对大家有所帮助! 两年前写过一篇文章介绍模块系统:理解前端模块概念:CommonJs与ES6Module。这篇文章的知识面都是针对刚入门的,比较浅显。在这也纠正文章的…

    2025年3月7日 编程技术
    200
  • 一文详解Node中express的身份认证

    本篇文章带大家了解node中的express框架,介绍一下express中的身份认证,希望对大家有所帮助! Web开发模式 目前主流的Web开发模式有两种: 基于服务端渲染的传统Web开发模式 服务端渲染的概念:服务器发送给客户端的HTML…

    2025年3月7日 编程技术
    200
  • 一文浅析node中如何使用消息队列

    什么是消息队列?下面本篇文章带大家了解一下消息队列的基本概念,介绍一下node中如何使用消息队列,希望对大家有所帮助! 1.消息队列 什么是消息队列 消息队列就是消息的传输过程中保存消息的容器,本质是一个队列(先进先出) 消息指的是需要传输…

    2025年3月7日 编程技术
    200

发表回复

登录后才能评论