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

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

青灯夜游
풀어 주다: 2022-12-15 21:14:51
앞으로
2765명이 탐색했습니다.

이 글은 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으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿