首頁 >web前端 >js教程 >實戰學習:聊聊Node.js怎麼操作資料庫

實戰學習:聊聊Node.js怎麼操作資料庫

青灯夜游
青灯夜游轉載
2022-12-15 21:14:512762瀏覽

這篇文章分享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

實戰學習:聊聊Node.js怎麼操作資料庫

#大概意思是涉及到一些操作權限的問題,需要我們到資料庫中執行這個語句,如果沒報錯的話大家可以跳過這個步驟。

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

在mysqlworkbrench中執行一下即可,然後回到我們的程式碼繼續執行連接資料庫的動作

實戰學習:聊聊Node.js怎麼操作資料庫

當輸出這個語句的時候證明已經是連線成功的了

實戰學習:聊聊Node.js怎麼操作資料庫

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)
    }
})

實戰學習:聊聊Node.js怎麼操作資料庫

affectedRows為影響行,影響行數為1說明執行i​​nsert語句成功,所以我們這邊可以修改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相關知識,請造訪:

nodejs 教學

以上是實戰學習:聊聊Node.js怎麼操作資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除