출처 : 생활코딩
https://opentutorials.org/course/3347/21185
mysql 문서
https://github.com/mysqljs/mysql
공식문서 : npm의 mysql
node.js가 mysql의 클라이언트로 작동하게 되는 것!!
node.js에서 mysql서버에 접속해서 정보를 가져오고 수정하는 방법은?
node.js의 기본 모듈 중에 mysql을 제어하는 모듈이 있는지? 없음
npm 중에 mysql 모듈을 사용할 수 있음
npm install -S mysql
cf. -S (또는 --save) : package.json의 dependencies에 추가
=> 소스 코드를 다른 곳에서 복제 및 생성 시 package 안에 있는 내용 바탕으로 Mysql 설치할테니
let mysql = require('mysql');
let connection = mysql.createConnection({
//모듈과 관련된 객체에 소속되어 있는 createConnection 메소드에 객체 전달하는 것으로 약속
host: db 서버가 어떤 컴퓨터에 있는가 (node.js와 mysql 서버가 같은 컴퓨터면) 'localhost',
user:'root' (변경 가능),
password: '11111',
database: 'opentutorials'//이런 이름의 db를 쓸 것
})//이 결과가 connection라는 변수에 담긴다
connection.connect()//접속을 해주는 메소드
접속 끝내고 query라는 메소드 사용
connection.qurey(sql문, 콜백함수)
connection.query('SELECT 1+1 AS solution', function(error, results, fields){
if(errror){
console.log(error);
}
console.log(result);
connection.end(); //connection을 끊는다
}
//sql이 db 서버에 전송되어서 실행이 끝난후에 콜백함수의 results에 결과물이 들어간다
// 두번째 인자인 콜백이 호출되어서 result에 본문 구현 : error가 있으면 ~~, 없으면~~
1.mysql에서 mysql 클라이언트인 mysql 모니터를 통해 db 서버에 접속하기
mysql -u root -p
비번 입력
접속
1.node.js에서
이런것처럼 서버에 접속하기 위해서는 비번 등의 정보들을 전해줘야 한다
=> mysql.createConnection(안에 비번 등의 정보 전달)
2.mysql에서 mysql에 접근하기
sql문법 사용
2.node.js에서 mysql에 접근하기
connection.query(sql, function(){})
3.mysql에서
mysql에서 exit를 해서 접속을 끊는다
3.node.js에서
connection.end();
db 서버에 연결
let mysql = require('mysql')
let connection = mysql.createConnection(...);
connection.connect();
connection.connect(functino(err, result){
if(err){
console.error('error')
}
console.log(result);
})
query()를 사용하면 암묵적으로 연결
connection.query(sql, function(error, results, fields){
//results에 sql을 사용한 결과가 담긴다
}
connection.end(function(err){
});
connection.destroy();
//더 과격한 방법