728x90
반응형
nodejs에서 MySQL을 연동하는 간략한 방법에 대하여 정리해 둡니다.
간단한 데이터 조회 (SELECT)
기본적으로 데이터베이스 서버와 연결을 하고, 간단한 쿼리를 실행하는 예제는 아래와 같습니다.
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
database : 'my_db'
});
connection.connect();
connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
connection.end();
데이터베이스 설정에 문제가 없다면, 실행 결과는 다음과 같습니다.
The solution is: 2
connection.query() 함수의 실행 결과로 받는 "results"에 "SELECT" 쿼리의 실행 결과에 따라 여러 레코드를 받게 됩니다.
"fields"에는 "results" 레코드들에 대한 컬럼의 정보가 들어 있습니다.
조회를 위한 "WHERE" 절 구성 등을 위하여 파라미터를 전달할 경우에는 다음과 같이 직접 조회 쿼리를 작성할 수도 있고, "?"를 이용하여 별도로 파라미터를 전달하여 줄 수도 있습니다. "SQL Injection" 등의 위험을 피하기 위해서는 가급적 "?"로 쿼리문을 작성하고 별도로 파라미터를 전달하는 방식을 권장합니다.
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
database : 'my_db'
});
connection.connect();
//connection.query("SELECT member_no, member_name, email, phone \
// FROM MEMBERS WHERE member_id = 'hbesthee' AND password = 'password';"
// , function (error, results, fields) {
connection.query("SELECT member_no, member_name, email, phone \
FROM MEMBERS WHERE member_id = ? AND password = ?;"
, ['hbesthee', 'password'], function (error, results, fields) {
if (error) throw error;
console.log('records: ', results);
});
connection.end();
데이터베이스 연결과 "MEMBERS" 테이블이 정의되어 있다면, 회원정보 내역이 출력됩니다.
참고 : https://github.com/mysqljs/mysql#multiple-statement-queries
'프로그래밍 > Node.js' 카테고리의 다른 글
[javascript] 배열 순서를 마구 뒤섞기(shuffle) (0) | 2023.11.06 |
---|---|
[nodejs] 구글 2FA 인증을 통한 SMTP 메일 발송 오류 해결기 (0) | 2022.10.19 |
[nodejs] VSCode 디버그 콘솔에 winston 로그가 출력되지 않는 문제 (0) | 2022.08.04 |
Node.js MySQL 연동 - INSERT (0) | 2021.05.22 |
Node.js의 Timers (0) | 2021.04.22 |