Heim  >  Artikel  >  Web-Frontend  >  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

青灯夜游
青灯夜游nach vorne
2022-12-15 21:14:512729Durchsuche

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

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

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 '这个地方替换成你的数据库密码';

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

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

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

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)=>{
})
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')
    }
})
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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen