npm으로 node-mysql모듈 다운로드 : npm install node-mysql —save
mysql 모듈 사용, createConnection 메서드로 객체화
mysql과 연결 : 객체.connect();
mysql과 질의 : 객체.query('sql 구문',function(err,rows,fields){});
연결 해제 : 객체.end();
var mysql = require('mysql'); // mysql 모듈 사용
var conn = mysql.createConnection({ // createConnection 메서드로 객체화
host : 'localhost',
user : 'root',
password : '129329aa',
database : 'TWICE'
}); // 실제는 이렇게 비밀번호 적나라하게 적으면 절대 안됨
conn.connect(); // mysql과 연결
var sql = '';
conn.query(sql, function(err,rows, fields){}); // query 메서드로 질의
conn.end(); // 연결 해제
var sql = 'select * from song'
conn.query(sql, function(err,rows, fields){
// sql 문에 해당하는 행을 rows가 받음 -> 테이블 전체 행
for(var i = 0; i < rows.lenght ; i++){
console.log(rows[i].id, rows[i].name, rows[i].year);
// rows가 행을 배열로 받으므로 인덱스 사용 가능
// 행 하나하나는 객체이므로 .으로 접근 가능
});
var sql = 'insert into song (name, year) values ("what is love",2018)';
conn.query(sql,function(err,rows,fields){
// sql 구문에 해당하는 행을 rows가 받음 -> insert 하는 행
console.log(rows.name,' ',rows.year); // what is love 2018
})
var sql = 'insert into song (name, year) values (?,?)';
var params = ['yes or yes', 2018];
conn.query(sql, params, function(err,rows,fields){
console.log(rows.name,' ',rows.year); // yes or yes 2018
})
var sql = 'update song set name="I can\'t stop me", year=2020 where name="more and more"';
conn.query(sql, function(err,rows,fields){
console.log(rows.name); // 대상으로 하는 행 없으므로 의미 x
})
conn.end();
var sql = 'update song set name=?, year=? where name=?';
var params = ["I can't stop me", 2020, "more and more"];
conn.query(sql, params, function(err,rows,fields){
console.log(rows.name); // 대상으로 하는 행 없으므로 의미 x
})
conn.end();
var sql = 'delete from song where name="I can\'t stop me"';
conn.query(sql, function(err,rows,fields){
console.log(rows.name); // 대상으로 하는 행 없으므로 의미 x
})
conn.end();
var sql = 'delete from song where name=?';
var params = ["I can't stop me"];
conn.query(sql, params, function(err,rows,fields){
console.log(rows.name); // 대상으로 하는 행 없으므로 의미 x
})
conn.end();