1. MySQL

MySQL사용하기

: 모듈

: node-mysql

커넥션

> mysql.createConnection(DATABASE-CONFIG);

: 커넥션 설정

: host, post, user, password, database(DB명)

: multipleStatements : 동시 여러 SQL실행, 보안주의

: connectTimeout : 타임아웃 시간, 기본 10초

커넥션 생성

: config 부분에
> var config = { host : 127.0.0.1, ...} 와 같이 넣음

: 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 콜백 함수 내에 작성하기

트랜잭션

: 여러 쿼리를 사용할 때 다시 되돌릴 수 있도록 commit으로 흐름제어

> conn.beginTransaction(CB);

: CB : err를 파라미터로 하는 콜백 함수

: conn.commit() : 트랜잭션 내 변경 확정

: conn.rollback() : 트랜잭션 내 변경 되돌리기

2. Sequelize

sequelize

: ORM : 객체와 모델을 매핑

: 지원 데이터 베이스 - MySQL, MariaDB, SQLite, 

: ORM

: SQL직접다루기 - SQL 작성 실행

: ORM : 모델을 이용한 값 저장과 변경

사용하기

: DB연결 설정
: 모델 설정
: 모델을 이용해서 데이터 저장
: 모델에서 데이터 얻어오기
: 모델을 이용해서 데이터 수정/삭제


: 별로인것 같다 안써도 될것같다.



'프로그래밍 > 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

+ Recent posts