站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        實戰(zhàn)學習:聊聊Node.js怎么操作數(shù)據(jù)庫

        本篇文章分享Node.js服務(wù)端實戰(zhàn),介紹一下Node操作數(shù)據(jù)庫的方法,希望對大家有所幫助!

        實戰(zhàn)學習:聊聊Node.js怎么操作數(shù)據(jù)庫

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

        本系列是使用node作為服務(wù)器開發(fā)的操作過程記錄,記錄一下主要的內(nèi)容并且整理過程的脈絡(luò),以初學者的方式將學習內(nèi)容記錄下來,從0到1逐步的學習node,教程使用過程中用到的是基于express的node框架。【相關(guān)教程推薦:nodejs視頻教程、編程教學】

        連接數(shù)據(jù)庫

        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) //查詢語句返回的是數(shù)組   } })
        登錄后復(fù)制

        第一次連接數(shù)據(jù)庫馬上就報錯了,還能怎么辦呢,直接谷歌搜吧

        ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
        登錄后復(fù)制

        實戰(zhàn)學習:聊聊Node.js怎么操作數(shù)據(jù)庫

        大概意思是涉及到一些操作權(quán)限的問題,需要我們到數(shù)據(jù)庫中執(zhí)行這個語句,如果沒報錯的話大家可以跳過這個步驟。

        ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '這個地方替換成你的數(shù)據(jù)庫密碼';
        登錄后復(fù)制

        在mysqlworkbrench中執(zhí)行一下即可,然后回到我們的代碼中繼續(xù)執(zhí)行連接數(shù)據(jù)庫的操作

        實戰(zhàn)學習:聊聊Node.js怎么操作數(shù)據(jù)庫

        當輸出這個語句的時候證明已經(jīng)是連接成功的了

        實戰(zhàn)學習:聊聊Node.js怎么操作數(shù)據(jù)庫

        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)     } })
        登錄后復(fù)制

        實戰(zhàn)學習:聊聊Node.js怎么操作數(shù)據(jù)庫

        affectedRows為影響行,影響行數(shù)為1說明執(zhí)行insert語句成功,所以我們這邊可以修改一下insert成功的判斷

         if(res.affectedRows == 1){     console.log('insert success') }
        登錄后復(fù)制

        簡化新增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')     } })
        登錄后復(fù)制

        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)=>{ })
        登錄后復(fù)制

        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')     } })
        登錄后復(fù)制

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 老司机国内精品久久久久| 500av大全导航精品| 久久亚洲日韩精品一区二区三区| 91久久精品电影| 国产亚洲精品a在线无码| 久久久久九国产精品| 久久久久久久99精品免费观看| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 欧美激情精品久久久久久久| 亚洲日韩精品欧美一区二区| 精品国产三级a∨在线欧美| 亚洲国产成人精品女人久久久 | 久久精品二区| 久久精品国产精品国产精品污| 久久亚洲私人国产精品| 一本一本久久a久久精品综合麻豆| 精品国产青草久久久久福利 | 青草青草久热精品视频在线网站 | 国产精品乱伦| 午夜影视日本亚洲欧洲精品一区| 精品欧洲AV无码一区二区男男| 亚洲国产精品日韩专区AV| 精品少妇一区二区三区在线| 国产乱人伦偷精品视频AAA | 精品人妻中文字幕有码在线| 亚洲精品无码久久久久| 四虎精品亚洲一区二区三区 | 久久国产精品一国产精品金尊| 国产精品一区二区久久| 国内精品久久久久影院日本| 在线观看国产精品日韩av| 夜夜爽一区二区三区精品| 日韩专区亚洲精品欧美专区| 久久精品无码av| 国产精品乱伦| 国内精品国产成人国产三级| 精品福利一区二区三区| 精品一区二区三区在线观看| 久久性精品| 午夜一级日韩精品制服诱惑我们这边 | 亚洲精品无码久久一线|