Rumah > Artikel > hujung hadapan web > Pembelajaran praktikal: Mari kita bincangkan tentang cara Node.js mengendalikan pangkalan data
Artikel ini berkongsi pengalaman praktikal pelayan Node.js dan memperkenalkan kaedah Node untuk mengendalikan pangkalan data saya harap ia akan membantu semua orang!
Siri ini menggunakan nod sebagai rekod proses operasi pembangunan pelayan Rekod kandungan utama dan atur konteks proses untuk bermula dengan. Kaedah sarjana merekodkan kandungan pembelajaran dan secara beransur-ansur mempelajari nod dari 0 hingga 1. Rangka kerja nod berdasarkan ekspres digunakan dalam tutorial. [Cadangan tutorial berkaitan: tutorial video nodejs, Pengajaran pengaturcaraan]
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) //查询语句返回的是数组 } })
Kali pertama saya menyambung ke pangkalan data, ralat dilaporkan serta-merta. Apa lagi yang boleh saya lakukan di Google
ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Ini mungkin bermakna itu. ia melibatkan beberapa isu kebenaran operasi, yang memerlukan Kami melaksanakan pernyataan ini dalam pangkalan data Jika tiada ralat dilaporkan, anda boleh melangkau langkah ini.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '这个地方替换成你的数据库密码';
Hanya laksanakannya dalam mysqlworkbrench, dan kemudian kembali ke kod kami untuk terus menyambung ke pangkalan data
Apabila pernyataan ini dikeluarkan Ia bertukar bahawa sambungan berjaya
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) } })
affectedRows In order untuk mempengaruhi baris, bilangan baris yang terjejas ialah 1, menunjukkan bahawa pernyataan sisipan berjaya dilaksanakan, jadi kita boleh mengubah suai penghakiman sisipan yang berjaya
if(res.affectedRows == 1){ console.log('insert success') }
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') } })
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)=>{ })
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') } })
Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs!
Atas ialah kandungan terperinci Pembelajaran praktikal: Mari kita bincangkan tentang cara Node.js mengendalikan pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!