코사장의 코딩 놀이터

웹개발

Node.js에서 MySQL 사용하기

코사장_ 2023. 4. 23. 13:55
반응형

1. Node.js에서 MySQL 사용하기

  • MySQL과 Node.js: MySQL은 세계에서 가장 인기 있는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS) 중 하나입니다. Node.js는 서버 측 자바스크립트 실행 환경으로, 비동기 이벤트 주도 프로그래밍 모델을 지원합니다. Node.js에서 MySQL을 사용하면 빠른 개발 속도와 높은 확장성을 활용하여 웹 애플리케이션을 구축할 수 있습니다.
  • mysql 모듈: Node.js에서 MySQL과 상호 작용하기 위해서는 'mysql'이라는 모듈을 사용해야 합니다. 이 모듈은 MySQL 서버와 연결하고, 쿼리를 수행하며, 결과를 처리하는 기능을 제공합니다.

Mysql - Nodejs

2. Node.js에서 MySQL 사용을 위한 설정 및 설치

  • mysql 모듈 설치: Node.js 프로젝트에서 mysql 모듈을 사용하려면 npm을 사용하여 패키지를 설치해야 합니다. npm install mysql 명령어를 실행하여 설치할 수 있습니다.
  • MySQL 연결 설정: MySQL 서버와 연결하기 위해선 연결 정보를 설정해야 합니다. 다음 예제는 기본적인 연결 설정을 보여줍니다.
const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'your_username',
  password: 'your_password',
  database: 'your_database'
});

connection.connect((err) => {
  if (err) throw err;
  console.log('Connected to MySQL!');
});

3. 예제 코드 및 설명 다음 예제 코드는 Node.js에서 MySQL을 사용하여 데이터를 삽입, 검색, 수정 및 삭제하는 방법을 보여줍니다.

// 데이터 삽입
const insertQuery = 'INSERT INTO posts (title, content) VALUES (?, ?)';
connection.query(insertQuery, ['Hello, MySQL!', 'This is an example post.'], (err, result) => {
  if (err) throw err;
  console.log('Data inserted: ', result.insertId);
});

// 데이터 검색
const selectQuery = 'SELECT * FROM posts WHERE id = ?';
connection.query(selectQuery, [1], (err, results) => {
  if (err) throw err;
  console.log('Data selected: ', results);
});

// 데이터 수정
const updateQuery = 'UPDATE posts SET title = ? WHERE id = ?';
connection.query(updateQuery, ['Hello, MySQL! (updated)', 1], (err, result) => {
  if (err) throw err;
  console.log('Data updated: ', result.affectedRows);
});

// 데이터 삭제
const deleteQuery = 'DELETE FROM posts WHERE id = ?';
connection.query(deleteQuery, [1], (err, result) => {
  if (err) throw err;
  console.log('Data deleted: ', result.affectedRows);
});

// MySQL 연결 종료
connection.end((err) => {
  if (err) throw err;
  console.log('MySQL connection closed.');
});
  • 데이터 삽입: connection.query() 함수를 사용하여 삽입 쿼리를 실행합니다. 물음표(?)는 자동으로 이스케이프 처리되는 매개변수로 대체됩니다.
  • 데이터 검색: connection.query() 함수를 사용하여 검색 쿼리를 실행하고, 결과를 콜백 함수에서 처리합니다.
  • 데이터 수정: connection.query() 함수를 사용하여 수정 쿼리를 실행하고, 수정된 행의 개수를 확인합니다.
  • 데이터 삭제: connection.query() 함수를 사용하여 삭제 쿼리를 실행하고, 삭제된 행의 개수를 확인합니다.
  • MySQL 연결 종료: 작업이 완료되면 connection.end() 함수를 호출하여 MySQL 연결을 종료합니다. 이는 리소스를 반환하고, 연결 오류를 방지하는 데 도움이 됩니다.

4. Node.js에서 MySQL 사용의 장점

  • 비동기 처리: Node.js는 비동기 이벤트 주도 프로그래밍 모델을 지원하여, 동시 처리 성능이 뛰어납니다. 이를 활용하면 웹 애플리케이션의 성능과 확장성을 높일 수 있습니다.
  • 자바스크립트 통합: Node.js에서 MySQL을 사용하면, 프론트엔드와 백엔드 모두 자바스크립트로 개발할 수 있어 개발자의 생산성을 높입니다.
  • 간편한 쿼리 작성: MySQL 모듈을 사용하면, SQL 쿼리를 간편하게 작성하고실행할 수 있습니다. 매개변수를 사용하여 SQL 쿼리를 안전하게 처리하고, 결과를 쉽게 다룰 수 있습니다.

 

5. Node.js에서 MySQL 사용 시 주의사항

  • 비동기 처리 이해: Node.js의 비동기 처리 방식을 이해하고, 콜백 함수 또는 Promise를 사용하여 비동기 코드를 제어해야 합니다. 그렇지 않으면 데이터베이스 작업이 완료되기 전에 다른 작업이 실행될 수 있습니다.
  • 에러 처리: MySQL 연결 및 쿼리 수행 과정에서 발생할 수 있는 에러를 적절히 처리해야 합니다. 에러 처리를 하지 않으면 프로그램이 예기치 않게 종료될 수 있습니다.
  • 커넥션 관리: MySQL 커넥션을 적절히 관리해야 합니다. 작업이 완료된 후에는 커넥션을 종료하여 리소스를 반환하고, 연결 오류를 방지하는 것이 중요합니다.
  • 보안: 사용자 입력을 통해 SQL 쿼리를 생성할 때, SQL 인젝션 공격에 대비해야 합니다. MySQL 모듈에서 제공하는 매개변수를 사용하여 안전하게 쿼리를 작성하세요.

 

이 글에서는 Node.js에서 MySQL을 사용하는 방법에 대해 소개했습니다. 기본 개념부터 실제 예제 코드, 사용 시 주의사항까지 다루었습니다. Node.js와 MySQL을 함께 사용하면 웹 애플리케이션을 빠르게 개발하고, 높은 확장성을 달성할 수 있습니다. 이 글이 Node.js에서 MySQL 사용에 대한 이해를 돕고, 실제 프로젝트에 도움이 되기를 바랍니다. 앞으로도 Node.js와 MySQL에 관한 다양한 정보와 팁을 제공할 예정이니, 관심있게 지켜봐 주시기 바랍니다.

 

반응형

'웹개발' 카테고리의 다른 글

HeidiSQL을 사용한 데이터베이스 관리  (0) 2023.04.29
리팩토링(Refactoring)이란?  (0) 2023.04.23
Lowdb 소개  (0) 2023.04.23
오라클 데이터베이스 소개  (0) 2023.04.22
MySQL 소개  (0) 2023.04.22