Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Android
- AWS
- React
- MongoDB
- sequelize
- OOAD
- Express
- Scheduling
- linux
- mysql
- DATABASE
- Crawling
- S3
- docker
- Network
- css
- Util
- python
- postman
- ubuntu
- algorithm
- wireshark
- node.js
- HTML
- OS
- typeorm
- TypeScript
- mongoose
- macos
- Kotlin
Archives
- Today
- Total
Seongwon Lim
[node.js] Mysql 다중쿼리 처리하기 본문
반응형
What is Query?
쿼리(Query)는 데이터베이스에 정보를 요청하는 행위를 의미한다.
쿼리는 웹 서버에 특정한 정보를 보여달라는 웹 클라이언트 요청에 의한 처리이며, 주로 문자열을 기반으로 한 요청이다.
쿼리는 데이터베이스에서 특정 데이터를 추출하기 위한 용도로 사용된다.
다중 쿼리(Multiple Query)
다중 쿼리는 말 그대로 쿼리문이 2개 이상 들어간 쿼리를 의미한다. 서브 쿼리와는 조금 다른 의미인 것을 유의해야 한다. (서브 쿼리는 하나의 SQL 문에 포함되어 있는 또 다른 SQL 문을 의미한다)
이번 예제에서는 쿼리문 2개를 예로 들어 NodeJS에서 어떻게 다중 쿼리를 처리하는지 살펴볼 것이다.
NodeJS에서 Mysql 연동 및 쿼리 예제
이번 포스팅은 이전에 포스팅한 글의 코드 예제를 그대로 가져간다.
일부 부분만 수정하여 다중 쿼리 예제를 살펴볼 예정이다.
다중 쿼리 처리 방법
아래 코드는 위에서 언급한 mysql 연동 및 쿼리 예제를 참고하면 된다.
먼저 쿼리를 하기 전 초기 세팅이 필요하다.
const conn = {
host: 'localhost',
port: '3306',
user: 'username',
password: 'pw',
database: 'kleague',
multipleStatements: true, // 새롭게 추가된 조건
}
위와 같이 multipleStatements: true 조건을 추가한다.
필자가 찾은 다중 쿼리 방법은 쿼리를 세미콜론(;)으로 구분하여 넘겨주는 것이다.
그 때 결과값은 배열 형태로 리턴된다.
app.get('/', (req, res) => {
// create DB connection
let connection = mysql.createConnection(conn);
connection.connect(); // connect database
// 기존 단일 쿼리 변수
// const testQuery = "SELECT * FROM PLAYER";
// 추가한 다중 쿼리 2개, 끝에 세미 콜론으로 구분한다.
const query = "SELECT * FROM PLAYER WHERE POSITION='GK';" +
"SELECT * FROM PLAYER WHERE HEIGHT>=190;"
connection.query(query, (error, result, field) => {
if (error) {
console.log("Error Execution :", error);
}
let result_query_1 = result[0]; // 포지션이 GK인 데이터 집합
let result_query_2 = result[1]; // 키가 190 이상인 데이터 집합
console.log(result_query_1.length); // 44개의 행
console.log(result_query_2.length); // 20개의 행
...
});
connection.end(); // de-connect database
})
위의 예제에서는쿼리문 2개를 이용하여 선수 테이블의 데이터를 추출하는 것을 살펴보았다.
다양한 다중 쿼리 방법이 있을 것 같은데 공부하면서 찾게 된다면 다음에 포스팅 할 예정이다.
출처
'Node.js' 카테고리의 다른 글
[node.js] Sequelize를 이용하여 Mysql Create 구현하기 (0) | 2022.05.10 |
---|---|
[node.js] Sequelize 사용 방법 및 Mysql 연동하기 (0) | 2022.05.10 |
[node.js] Bcrypt를 이용한 패스워드 암호화 (0) | 2022.05.10 |
[node.js] Nodemon 설치 및 사용 (0) | 2022.05.10 |
[node.js] Mysql 연동하기 (0) | 2022.05.10 |
Comments