sitelink1 https://youtu.be/SUjOvUbKunI 
sitelink2  
sitelink3  
extra_vars4  
extra_vars5  
extra_vars6  

MySQL 모듈 사용 (MySQL2 모듈과는 다름)

 

* dbConnection.js

var mysql = require('mysql');

 

var dbConfig = {

   host: 'localhost',

   user: 'root',

   password: '1234',

   port: 3306,

   database: 'Moviest'

};

 

var pool = mysql.createPool(dbConfig);

 

module.exports = pool;

 

* select.js

var pool = require('./dbConnection');

 

pool.getConnection(function(err, conn) {

   if ( err ) {

      console.error('Error', err);

      return;

   }

   

   var sql = 'SELECT * FROM movies';

   conn.query(sql, function(err, results) {

      if ( err ) {

         console.error('Error', err);

         return;

      }

      

      for ( var i = 0 ; i < results.length ; i++ ) {

         var movieInfo = results[i];

         console.log('제목 : ' + movieInfo.title + ' 감독 : ' + movieInfo.director);

      }

      

      conn.release();      

   });

});

 

* insert.js

var pool = require('./dbConnection');

 

pool.getConnection(function(err, conn) {

   var sql = 'INSERT INTO movies (title, director, year) VALUES ("인셉션", "크리스토퍼 놀란", 2010);';

   conn.query(sql,function(err, results) {

      if ( err ) {

         console.error('INSERT Error', err);

      }

      else {

         console.log('results : ', results);

      }

   });

      

   var sql2 = 'INSERT INTO movies (title, director, year) VALUES (?, ?, ?);';

   conn.query(sql2, ['인터스텔라', '크리스토퍼 놀란', 2015],function(err, results) {

      if ( err ) {

         console.error('INSERT Error', err);

      }

      else {

         console.log('results : ', results);

      }

   });   

   

   var data = {

      title : '메멘토',

      director : '크리스토퍼 놀란',

      year : 2000

   };

   var sql3 = 'INSERT INTO movies SET ?';

   conn.query(sql3, data, function(err, results) {

      if ( err ) {

         console.error('INSERT Error', err);

      }

      else {

         console.log('results : ', results);

      }

   });

   

   // 비동기의 연속이므로 release를 호출할 곳이 적당하지 않다.

   // conn.release();

});

 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
56 Node.js로 ES6 코드 실행하기 (Babel) file 황제낙엽 2023.01.07 3
55 자바스크립트 CommonJS 모듈 내보내기/불러오기 (require) file 황제낙엽 2023.01.07 1
54 Node.js에서 ES 모듈(import/export) 사용하기 file 황제낙엽 2023.01.07 1
53 CommonJS 와 ES 의 Module 시스템 황제낙엽 2023.01.07 1
52 [session] 기본 - Express-session 기반 로그인 세션 관리 황제낙엽 2022.01.03 1
51 [session] 기본 - 2 file 황제낙엽 2022.01.03 0
50 [session] 기본 - 1 황제낙엽 2022.01.03 1
49 [T아카데미] Node.js 프로그램 기초부터 응용까지 강좌 모음 황제낙엽 2021.03.15 29
48 Node.js 에서 Bulk INSERT 를 하는 방법 (multi insert) 황제낙엽 2021.02.02 663
47 mysql, mysql2 모듈 버전 비교 황제낙엽 2021.01.31 269
46 [T아카데미/Node.js 프로그래밍] 프로그램 흐름 제어 (콜백지옥, Async, Promise) file 황제낙엽 2021.01.27 17
45 ORM 툴 Sequelize file 황제낙엽 2021.01.27 12
44 [connection과 pool-05] pool 생성이 너무 많은 경우의 database에서의 에러 - Too many connections file 황제낙엽 2021.01.27 50
43 [connection과 pool-04] connection pool 에서의 Transaction을 이용한 commit 과 rollback 황제낙엽 2021.01.27 64
42 [connection과 pool-03] mysql.createPool 과 connection.query 황제낙엽 2021.01.27 383
41 [connection과 pool-02] mysql.createPool 과 pool.query 황제낙엽 2021.01.27 23
40 [connection과 pool-01] mysql.createConnection 과 connection.query 황제낙엽 2021.01.27 39
» [T아카데미/Node.js 프로그래밍/MySQL] createPool, getConnection 의 간단한 예제 (강의 예제) 황제낙엽 2021.01.27 49
38 여러 개의 데이터 베이스 연결을 동시에 관리하는 PoolCluster 황제낙엽 2021.01.16 2205
37 connetion pooling 과 connection leak 황제낙엽 2021.01.16 35