Heim > Web-Frontend > js-Tutorial > Praktisches Lernen: Lassen Sie uns darüber sprechen, wie Node.js die Datenbank betreibt

Praktisches Lernen: Lassen Sie uns darüber sprechen, wie Node.js die Datenbank betreibt

青灯夜游
Freigeben: 2022-12-15 21:14:51
nach vorne
2764 Leute haben es durchsucht

Dieser Artikel teilt die praktischen Erfahrungen mit dem Node.js-Server und stellt die Methode des Node-Betriebs der Datenbank vor. Ich hoffe, dass er für alle hilfreich sein wird!

Praktisches Lernen: Lassen Sie uns darüber sprechen, wie Node.js die Datenbank betreibt

Diese Serie verwendet node als Aufzeichnung des Betriebsprozesses der Serverentwicklung, zeichnet den Lerninhalt auf eine Anfängerart auf und lernt Schritt für Schritt Node, das auf Express basierende Node-Framework wird im Tutorial verwendet. [Empfohlene verwandte Tutorials: nodejs-Video-Tutorial, Programmierunterricht]

Herstellen einer Verbindung zur Datenbank

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) //查询语句返回的是数组
  }
})
Nach dem Login kopieren

Ich habe beim ersten Herstellen einer Verbindung zur Datenbank sofort eine Fehlermeldung erhalten Suche bei Google

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

Praktisches Lernen: Lassen Sie uns darüber sprechen, wie Node.js die Datenbank betreibt

Das bedeutet wahrscheinlich, dass es Probleme mit der Betriebsberechtigung gibt und wir diese Anweisung in der Datenbank ausführen müssen. Wenn kein Fehler gemeldet wird, können Sie diesen Schritt überspringen.

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

Führen Sie es einfach in mysqlworkbrench aus, kehren Sie dann zu unserem Code zurück und stellen Sie weiterhin eine Verbindung zur Datenbank her.

Praktisches Lernen: Lassen Sie uns darüber sprechen, wie Node.js die Datenbank betreibt

Wenn diese Anweisung ausgegeben wird, beweist dies, dass die Verbindung erfolgreich ist

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)
    }
})
Nach dem Login kopieren

Praktisches Lernen: Lassen Sie uns darüber sprechen, wie Node.js die Datenbank betreibt

affectedRows ist die betroffene Zeile. Die Anzahl der betroffenen Zeilen beträgt 1, was bedeutet, dass die Einfügeanweisung erfolgreich ausgeführt wurde, sodass wir die Beurteilung des Einfügeerfolgs hier ändern können
 if(res.affectedRows == 1){
    console.log('insert success')
}
Nach dem Login kopieren

Vereinfachen Sie das neue SQL

Praktisches Lernen: Lassen Sie uns darüber sprechen, wie Node.js die Datenbank betreibt

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')
    }
})
Nach dem Login kopieren

Anweisung aktualisieren

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)=>{
})
Nach dem Login kopieren
Anweisung löschen

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')
    }
})
Nach dem Login kopieren
Weitere Informationen zu Knoten finden Sie unter: nodejs-Tutorial!

Das obige ist der detaillierte Inhalt vonPraktisches Lernen: Lassen Sie uns darüber sprechen, wie Node.js die Datenbank betreibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage