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

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

青灯夜游
リリース: 2022-12-15 21:14:51
転載
2771 人が閲覧しました

この記事では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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート