프로그래밍/Node.js

Node.js 생활코딩 정리 – node-mysql 사용하기

가카리 2016. 11. 27. 21:48
반응형

node-mysql 1 : 접속

 

node-mysql 설치

 

 

database_mysql.js

 

var mysql = require('mysql');

var conn = mysql.createConnection({

host : 'localhost',

user : 'root',

password : 'qwer1234',

database : 'o2',

port : 3307

});

 

conn.connect();

 

 

//connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {

// if (err) throw err;

//

// console.log('The solution is: ', rows[0].solution);

//});

 

var sql = 'SELECT * FROM topic';

//rows 쿼리된

//fields 컬럼에 대한 정보

conn.query(sql, function(err, rows, fields){

if(err){//데이터 베이스 에러가 있다면

console.log(err);

}else{

console.log('rows', rows);

console.log('fields', fields);

}

});

 

conn.end();

 

실행 화면

 

rows에는 실제 값이 출력되고 fields는 데이터베이스의 컬럼에 대한 정보가 출력된다.

 

 

 

node-mysql 2 : SELECT & INSERT

 

SELECT 쿼리문을 날려서 결과값 출력하기

 

database_mysql.js

 

var mysql = require('mysql');

var conn = mysql.createConnection({

host : 'localhost',

user : 'root',

password : 'qwer1234',

database : 'o2',

port : 3307

});

 

conn.connect();

var sql = 'SELECT * FROM topic';

//rows 쿼리된

//fields 컬럼에 대한 정보

conn.query(sql, function(err, rows, fields){

if(err){//데이터 베이스 에러가 있다면

console.log(err);

}else{

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

console.log(rows[i].title);

}

}

});

 

conn.end();

 

 

실행화면

 

 

 

데이터 INSERT 하기

 

var sql2 = 'INSERT INTO topic (title, description, author) VALUES("nodejs", "server side js", "kch")';

 

conn.query(sql2, function(err, rows, fields){

if(err){

console.log(err);

}else{

console.log(rows);

}

});

 

실행화면

다음과 같이 출력된다.

 

 

데이터 추가시 데이터를 입력 받은 변수를 이용하여 추가하기

 

var sql3 = 'INSERT INTO topic (title, description, author) VALUES(?, ?, ?)';

var params = ['Supervisor', 'Watcher', 'graphittie'];

conn.query(sql3, params, function(err, rows, fields){

if(err){

console.log(err);

}else{

console.log(rows);

}

});

 

 

실행 화면

 

데이터베이스에도 값이 잘 들어간 것을 볼 수 있다.

 

node-mysql 3: UPDATE & DELETE

 

var sql4 = 'UPDATE topic SET title=?, description=? WHERE id=?';

var params = ['NPM', 'gakari', 1];

conn.query(sql4, params, function(err, rows, fields){

if(err){

console.log(err);

}else{

console.log(rows);

}

});

 

 

실행 결과

 

 

실제 데이터베이스도 변했음을 알 수 있다.

 

 

데이터 삭제하기

 

var sql5 = 'DELETE FROM topic WHERE id=?';

var params = [1];

conn.query(sql5, params, function(err, rows, fields){

if(err){

console.log(err);

}else{

console.log(rows);

}

});

 

실행 화면

 

 

실제 데이터베이스를 보면 id가 1인 행이 삭제됬음을 알 수 있다.

 

 

 

출처 : https://opentutorials.org/course/2136

반응형