ホームページ  >  記事  >  ウェブフロントエンド  >  実践的な学習: Node.js がデータベースを操作する方法について話しましょう

実践的な学習: Node.js がデータベースを操作する方法について話しましょう

青灯夜游
青灯夜游転載
2022-12-15 21:14:512706ブラウズ

この記事ではNode.jsサーバーの実戦と、Nodeでデータベースを操作する方法を紹介しますので、皆様のお役に立てれば幸いです。

実践的な学習: Node.js がデータベースを操作する方法について話しましょう

このシリーズは、サーバー開発の運用プロセスの記録として node を使用し、主な内容を記録し、そのコンテキストを整理します。学習内容を記録し、ノードを0から1まで段階的に学習する学者の方法です。チュートリアルではExpressベースのノードフレームワークを使用します。 [関連チュートリアルの推奨事項: nodejs ビデオ チュートリアル プログラミング教育 ]

データベースへの接続

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

最初に、初めてデータベースに接続した直後にエラーが報告されました。他に何ができますか? Google で検索してください

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

実践的な学習: Node.js がデータベースを操作する方法について話しましょう

おそらく、いくつかあることを意味します。操作権限の問題が関係しているため、データベースに移動する必要があります。このステートメントを実行してください。エラーが報告されない場合は、この手順をスキップできます。

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

mysqlworkbrench で実行し、コードに戻ってデータベースへの接続操作を続行します

実践的な学習: Node.js がデータベースを操作する方法について話しましょう

このステートメントが出力されることを証明します。接続はすでに成功しています

実践的な学習: Node.js がデータベースを操作する方法について話しましょう

insert state

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

実践的な学習: Node.js がデータベースを操作する方法について話しましょう

affectedRows は影響を受ける行です。影響を受ける行の数は 1 で、挿入ステートメントが正常に実行されたことを示しているため、挿入の成功の判断をここで変更できます

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

ノード関連の詳細については、

nodejs チュートリアル を参照してください。

以上が実践的な学習: Node.js がデータベースを操作する方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。