mysql module은 nodejs와 MySQL 연동을 위한 대표적인 모듈중 하나이다.
사전에 MySQL은 설치가 되어있어야 하며, mysql모듈은 npm을 통해 설치가 가능하다.
$ npm install mysql
간단한 사용방법은 아래와 같다.
const mysql = require('mysql');
const db = mysql.createConnection({
host: 'localhost', // host 이름 (생략가능?)
user: 'root', // user이름
password: "", // mysql root의 비밀번호
port: 3000 // 포트이름 (생략가능?)
database: "chat" // <데이터베이스 이름>
db.connect(); // mysql 데이터베이스와 연결을 활성화
db.query('SELECT * from Users', function(err, rows, fields) {
if (!err) {
console.log('The solution is: ', rows); // rows에 쿼리문에 해당하는 결과값이 배열형식으로 들어옴
} else {
console.log('Error while performing Qeury. ', err);
}
});
connection.end() //mysql 데이터베이스와 연결 종료
동적으로 어떤 값을 받아 쿼리문에 넘겨줘야할 때는 아래와 같이 사용할 수 있다.
let params = ['Peter', '010-xxxx-xxxx']
// params의 값들이 쿼리문의 ?에 차례대로 하나씩 대입된다.
db.query('INSERT INTO Users (name, phoneNumber) Values (?, ?), params, function(err, rows, field) {
if (!err) {
console.log('insert success')
} else {
console.log(err)
}
});
보통 database와 상호작용이 끝난 이후에 어떤 동작이 이루어져야 하는 코드의 경우, db.query를 프로미스화 시켜주는 것이 좋다.