본문 바로가기

TIL

mysql module

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를 프로미스화 시켜주는 것이 좋다.

'TIL' 카테고리의 다른 글

deploy  (0) 2020.02.18
ORM  (0) 2020.02.11
Promise  (0) 2020.02.10
20.02.04  (0) 2020.02.04