[mysql module]
Node.js 에서 mysql 모듈을 사용해보자.
mysql module 설치
npm install mysql
mysql db 연동
mysql 데이터베이스는 클라이언트가 1시간 이상 응답이 없을 경우 자동으로 연결을 종료시킨다.
- https://github.com/mysqljs/mysql#server-disconnects 참고
//모듈 추출 var mysql = require('mysql'); // db연결 var connection = mysql.createConnection({ host : 'localhost', // <-- 연결 호스트 port : '3306', // <-- 연결 포트 database : 'databasename', // <-- 연결할 데이터베이스 user : 'username', // <-- 유저 명 password : 'password!' // <-- 유저 비밀번호 // debug : false // <-- 디버그 모드의 사용 여부 });
Connection 객체의 메서드
query() : 쿼리 문장을 실행
//데이터베이스 미선택시 db선택. connection에서 지정해주었다면 따로 선언하지 않아도 된다.
connection.query('USE databasename');
//쿼리 실행
connection.query('SELECT *,from_unixtime(date) as regdate FROM `test` ', function(error, result, fields){
if(error){
console.log('fail');
}else{
console.log(result);
}
});
//특수문자 이스케이프
var idx = 111; var sql = "select * from `test` where idx = '"+ connection.escape(idx) +"' ";
[sqlstring]
mysql에 관련해서 간단한 SQL 이스케이프 및 MySQL 용 형식맞춤 모듈
- 자세한 사용법은 https://www.npmjs.com/package/sqlstring 참고
sql string 설치
npm install sqlstring
//모듈 추출 var sqlstring = require('sqlstring'); //escape 메소드 사용, NO_BACKSLASH_ESCAPES SQL 모드가 비활성화 된 경우에만 작동한다. (MySQL 서버의 기본 상태임) var userid = 'testId'; var testsql = "select * from `test` where id = '"+ sqlstring.escape(userid) +"' "; //string format var object = {id : 'test', 'title' : 'mysql title'}; var testsql = sqlstring.format('insert into `test` set ?', object); // insert into `test` set `id` = 'test', `title` = 'mysql title' 로 적용됨.
'Web > Node.js' 카테고리의 다른 글
request와 cheerio를 이용한 웹페이지 크롤링 (0) | 2018.03.19 |
---|---|
express 프레임워크 (0) | 2018.03.12 |
express moduler (0) | 2018.03.07 |
express module - request, response 객체 (0) | 2018.03.06 |
http module (server, request, response, cookie) (0) | 2018.03.02 |
댓글