node.js MySQL 데이터베이스 작업 방법

MySQL 데이터베이스는 가장 유행하는 소스 데이터베이스입니다.기본적으로 모든 웹 개발자가 반드시 파악해야 할 데이터베이스 프로그램 중의 하나이다.
기본 사용
node.js에서 가장 인기 있는 mysql 패키지는 mysql 모듈입니다.

npm install mysql
그리고 js 스크립트에서 바로 인용합니다.

var mysql   = require('mysql');
mysql의 데이터베이스 연결을 설정합니다.

var connection = mysql.createConnection({
 host   : 'ip',
 user   : ' ',
 password : ' ',
 database : 'dbname'
});
connection.connect();
이렇게 해서 연결을 하나 얻었다.
그리고 각종 curd 조작을 즐겁게 진행할 수 있습니다.
node.js가 데이터베이스에 대한curd는query라는 방법에 있습니다.이 점과 ado.net는 큰 차이가 있다.
너의 모든 조작은query의 리셋 함수에서 결과를 얻는다

connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
 if (error) throw error;
 console.log('The solution is: ', results[0].solution);
});
연결 풀 작업
단기 소프트웨어에서, 우리는 간단하게 연결을 얻은 후에 사용할 수 있다.
그러나 인터넷을 위한 웹 서비스에서 빈번하게 연결을 만들고 닫는 것은 서버 성능을 소모한다.
그래서 우리 선배들은 각종 연못을 발명했다.예를 들어 다중 스레드 조작 중의 스레드 탱크, 게임 개발 중의 대상 탱크는 물론 데이터베이스 조작 연결 탱크도 포함한다.
연결 풀을 만들려면 다음과 같이 하십시오.

var mysql = require('mysql');
var pool = mysql.createPool({
 connectionLimit :  ,
 host      : 'ip ',
 user      : ' ',
 password    : ' ',
 database    : ' '
});
그리고 위의 문장과 같은curd 조작입니다.

// 
pool.getConnection(function(err, connection) {
  if (err) throw err; // not connected!
 
  //  curd
  connection.query('SELECT something FROM sometable', function (error, results, fields) {
    //  , 
    connection.release();
 
    // Handle error after the release.
    if (error) throw error;
 
  });
});
프로그램을 종료하려면 연결 탱크를 호출하는 end () 방법을 사용하십시오.그렇지 않으면 프로그램이 백그라운드에 걸려 계속 종료에 실패할 것이다.
Promise로 포장
ES6에서는 C#의await와 같은 문법으로 js의 비동기 함수를 직접 호출할 수 있습니다.
그러나 이 함수는 async 성명과 반환 값이 Promise 대상이어야 합니다.

query = function (sql, arr, callback) {
  console.log(' ');
  return new Promise(function (resolve, reject) {
    pool.getConnection(function (err, connection) {
      if (err) {
        reject(err);// not connected!
      } else {
        console.log(' ');
        connection.query(sql, arr, function (error, results, fields) {
          connection.release();
          console.log(' , ');

          if (error) reject(error);
          // callback && callback(results, fields)
          resolve({
            rows: results,
            fields: fields
          })
        });
      }


    });
  })


}
간단한 용법은 여기까지만 하면 끝이야.물론 MySQL의 Cluster 작업 등 더 고급스러운 사용법도 있다.흥미가 있으면 연구할 수 있다. 왜냐하면 나는 현재 이런 기능을 사용할 수 없기 때문에 모든 것을 뒤로 깊이 연구하지 않을 것이다.
이상은 노드입니다.js가 MySQL 데이터베이스를 어떻게 조작하는지에 대한 상세한 내용, 더 많은 node.js가 데이터베이스를 조작하는 자료는 우리 다른 관련 문장에 주목하세요!

좋은 웹페이지 즐겨찾기