1. MySQL
MySQL사용하기
: 모듈
: node-mysql
커넥션
> mysql.createConnection(DATABASE-CONFIG);
: 커넥션 설정
: host, post, user, password, database(DB명)
: multipleStatements : 동시 여러 SQL실행, 보안주의
: connectTimeout : 타임아웃 시간, 기본 10초
커넥션 생성
: connect : 연결
: end : 연결 종료
: query : SQL문 실행 및 자동 연결
커넥션 풀
: 다수의 커넥션 관리 기법
: 풀에서 커넥션을 얻어서 사용하고 반납
: 커넥션을 모듈로 분리해서 사용하는게 좋다.
: 하나의 커넥션으로 공유해서 사용할 수 있음
SQL 실행
: placeholder
1.
> var sql = 'INSERT INTO movie(title) VALUES (?);;'
> connection.query(sql, ['인터스텔라'],function(){});
2. INSERT일 경우
> var data = {title : '메멘토'}
> > connection.query(sql, data,function(){});
실행결과
: affectedRow : 영향을 받은 열의 개수
: insertID : 새로 추가한 경우 Primary Key
: changeRow : 변경된 열의 수
SQL Injection
: 플레이스 홀더 사용하기
실행과 커넥션 닫기
: query는 비동기 동작
: 커넥션 닫기는 query 콜백 함수 내에 작성하기
트랜잭션
> conn.beginTransaction(CB);
: CB : err를 파라미터로 하는 콜백 함수
: conn.commit() : 트랜잭션 내 변경 확정
: conn.rollback() : 트랜잭션 내 변경 되돌리기
2. Sequelize
sequelize
: ORM : 객체와 모델을 매핑
: 지원 데이터 베이스 - MySQL, MariaDB, SQLite,
: ORM
: SQL직접다루기 - SQL 작성 실행
: ORM : 모델을 이용한 값 저장과 변경
사용하기
: 별로인것 같다 안써도 될것같다.
'프로그래밍 > Nodejs' 카테고리의 다른 글
소켓을 이용한 실시간 서비스 (0) | 2017.04.27 |
---|---|
Nodejs와 MongoDB (0) | 2017.04.27 |
Express (0) | 2017.04.24 |
RESTful (0) | 2017.04.24 |
모바일서버 (0) | 2017.04.24 |