>  기사  >  웹 프론트엔드  >  실전 학습: Node.js가 데이터베이스를 작동하는 방법에 대해 이야기해 보겠습니다.

실전 학습: Node.js가 데이터베이스를 작동하는 방법에 대해 이야기해 보겠습니다.

青灯夜游
青灯夜游앞으로
2022-12-15 21:14:512672검색

이 글은 Node.js 서버의 실제 경험을 공유하고 Node가 데이터베이스를 어떻게 운영하는지 소개합니다. 모든 분들께 도움이 되길 바랍니다!

실전 학습: Node.js가 데이터베이스를 작동하는 방법에 대해 이야기해 보겠습니다.

이 시리즈는 node를 사용하여 서버 개발의 운영 과정을 기록하고, 학습 내용을 초급자 방식으로 정리하여 0부터 1까지 단계별로 학습합니다. node, 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가 데이터베이스를 작동하는 방법에 대해 이야기해 보겠습니다.

명령문 삽입

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제