Node.js & MySQL2 모듈

박은지·2022년 2월 21일
0

Node.js에서 MySQL DB서버에 접속해서 정보를 가져오고 수정하는 작업을 해보자.

Node.js에 포함되어있는 기본 모듈중에 MySQL을 제어할 수 있는 모듈이 존재하지 않는다.
그럼 누군가가 만든 모듈이 있는가...?

참고자료

Node.js의 MySQL2 모듈 설치하기

npm install -S mysql2

  • 여기서 -S 혹은 --save명령을 추가하면 package.json의 "dependencies"에 추가할 수 있다.

MySQL 에는 [TODOLIST]라는 데이터베이스 안에 [todos]라는 테이블이 존재한다.
todos 테이블의 속성과 타입은 다음과 같다.

  • id : INTEGER (자동생성)
  • todoCode : STRING
  • date : INTEGER
  • title : STRING
  • contents : STRING
  • done : STRING
  • edit : STRING
  • delete : STRING
  • createAt : DATE (자동생성, 현재 시간이 자동으로 들어가도록 기본값 설정)
  • updateAt : DATE (자동생성, 현재 시간이 자동으로 들어가도록 기본값 설정)

// mysqltest.js

// mysql2 모듈 ---------------------------------------------
var mysql = require('mysql2');

// createConnection 메소드 ---------------------------------
// - 인자로 Database 정보가 담긴 객체를 전달한다.
var connection = mysql.createConnection({
  host     : 'localhost',  // db 서버의 port (Node.js와 mysql서버가 동일한 컴퓨터에 있다면 localhost)
  user     : 'root',  // 사용자
  password : 'root',  // 비번
  database : 'TODOLIST'  // db name
});


// connect() : DB 접속 시작 ---------------------------------
connection.connect(); 


// query() : SQL 쿼리 ---------------------------------------
// + sql문 : sql문이 DB 서버에 전송되어 실행
// + callback 함수 : sql문 실행이 종료된 후 callback함수 실행
//   - error : 
//   - results : 
//   - fields : 
connection.query('SELECT * FROM todos', function (error, results, fields) {
  if(error) {
    console.log(error);
  } 
    console.log(results);
  }
);


// end() : DB 접속 중단 -------------------------------------
connection.end(); 

0개의 댓글