node.js 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가 데이터베이스를 조작하는 자료는 우리 다른 관련 문장에 주목하세요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Express + AWS S3 이미지 업로드하기웹 사이트 및 모바일 애플리케이션 등에서 원하는 양의 데이터를 저장하고 보호할 수 있다. 데이터에 대한 액세스를 최적화, 구조화 및 구성할 수 있는 관리 기능을 제공한다. AWS S3 에 저장된 객체에 대한 컨테이너...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.