목차
- 라이브러리 사용 셋팅
- 단순한 형태의 쿼리
- prepared statement(execute 메서드)
# 1. 환경셋팅
1-1. 라이브러리 설치
$ npm install --mysql2
1-2. 가져오기
const mysql = require('mysql2');
1-3. 객체 생성 및 옵션 설정
const config = {
host: 'localhost',
user: 'green',
database: 'soybeanlatte'
}
const connection = mysql.createConnection(config)
# 2. 단순한 형태의 쿼리
1. 간단한 형태
const SQL = 'SELECT * FROM menu WHERE `drink` = `오렌지주스` AND `side` = `콘샐러드`'
connection.query(SQL,( err,result )=>{
console.log(result)
})
)
2. 플레이스 홀더가 있는 간단한 쿼리
const SQL = 'SELECT * FROM menu WHERE `drink` = ? AND `side` = ?'
connection.query(SQL,['오렌지주스','콘샐러드'],(err,result)=>{
console.log(result);
})
#3. 준비된 구문 (Prepared statement)
- prepared 구문 사용 시 MySQL은 같은 쿼리에 대해 매번 새로 준비할 필요가 없으므로 성능 향상
3-1. execute() 메서드
- MySQL이 제공하는 execute객체는 구문을 prepare하고, query 한다.
const SQL = 'SELECT * FROM menu WHERE `drink` = ? AND `side` = ?'
connection.execute(SQL,['오렌지주스','콘샐러드'],(err,result)=>{
console.log(result);
})
- 위의 코드와 같이 execute 메서드로 구문을 prepare 및 query 하는 경우,
- 같은 구문을 다시 execute 할 때, LRU cache에 의해 쿼리 preparation 시간을 절약하고, 더 나은 성능이 발휘될 것이다.
3-2. prepare/unprepare() 메서드
- 사용자는 prepare/unprepare 메서드를 통해 구문을 수동으로 prepare 또는 unprepare 할 수 있다.
'DBMS > 4. 웹서버-DB서버 통신' 카테고리의 다른 글
sequelize (0) | 2022.05.04 |
---|---|
시퀄라이즈1. 환경셋팅 (0) | 2022.04.29 |
# 4-3 mysql2 - 프로미스 API (0) | 2022.03.26 |
# 4-2 mysql2 - 커넥션 풀 (0) | 2022.03.26 |
댓글