實戰學習:聊聊Node.js怎麼運算元據庫

2022-12-15 22:00:22
本篇文章分享Node.js伺服器端實戰,介紹一下運算元據庫的方法,希望對大家有所幫助!

node.js極速入門課程:進入學習

本系列是使用作為伺服器開發的操作過程記錄,記錄一下主要的內容並且整理過程的脈絡,以初學者的方式將學習內容記錄下來,從0到1逐步的學習node,教學使用過程中用到的是基於express的node框架。【相關教學推薦:、】

連線資料庫

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.js怎麼運算元據庫的詳細內容,更多請關注TW511.COM其它相關文章!