Node.js – 데이터베이스 연동 – MySQL – 0 – 데이터베이스 연결과 조회

ES6(ECMAScript 2015) - 객체 리터럴 확장 - 2 - 프로토타입 축약
Node.js – 데이터베이스 연동 – MySQL – 0 – 데이터베이스 연결과 조회

Node.js – 데이터베이스 연동 – MySQL – 1 – 쿼리 작성과 실행

소제목 1: Node.js에서 MySQL과 연동하기

Node.js를 사용하여 MySQL 데이터베이스와 연동하는 방법을 알아보겠습니다. MySQL은 널리 사용되는 관계형 데이터베이스이며, Node.js는 서버 사이드에서 자바스크립트를 실행할 수 있는 환경입니다.

예시 1: MySQL 데이터베이스 연결

const mysql = require('mysql');

// MySQL 데이터베이스 연결 설정
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'username',
  password: 'password',
  database: 'database_name'
});

// 데이터베이스 연결
connection.connect((err) => {
  if (err) {
    console.error('MySQL 연결 실패:', err);
  } else {
    console.log('MySQL 연결 성공!');
    // 여기서 쿼리 실행 등의 작업을 수행할 수 있습니다.
  }
});

위의 예시에서는 mysql 모듈을 require하여 MySQL과의 연결을 설정하고, createConnection 메서드를 사용하여 연결 정보를 입력합니다. 연결 정보에는 호스트, 사용자명, 비밀번호, 데이터베이스명이 포함됩니다. 그리고 connect 메서드를 호출하여 실제로 MySQL에 연결합니다. 연결이 성공하면 메시지를 출력합니다.

소제목 2: 쿼리 작성과 실행

이제 Node.js에서 MySQL에 쿼리를 작성하고 실행하는 방법에 대해 알아보겠습니다.

예시 2: SELECT 쿼리 실행

const query = 'SELECT * FROM users';

connection.query(query, (err, rows) => {
  if (err) {
    console.error('쿼리 실행 오류:', err);
  } else {
    console.log('쿼리 실행 결과:');
    rows.forEach((row) => {
      console.log(row);
    });
  }
});

위의 예시에서는 SELECT * FROM users라는 쿼리를 작성하고, connection.query 메서드를 사용하여 쿼리를 실행합니다. 실행 결과는 콜백 함수를 통해 전달되며, 첫 번째 매개변수에는 오류 정보가 전달되고, 두 번째 매개변수에는 쿼리 결과인 행들이 전달됩니다. 여기서는 간단히 결과를 로그에 출력하였습니다.

예시 3: INSERT 쿼리 실행

const newUser = { username: 'john', email: 'john@example.com' };
const query = 'INSERT INTO users SET ?';

connection.query(query, newUser, (err, result) => {
  if (err) {
    console.error('쿼리 실행 오류:', err);
  } else {
    console.log('쿼리 실행 결과:');
    console.log('새로운 사용자 ID:', result.insertId);
  }
});

위의 예시에서는 INSERT INTO users SET ?라는 쿼리를 작성하고, connection.query 메서드를 사용하여 쿼리를 실행합니다. ?는 placeholder로, 두 번째 매개변수인 newUser 객체의 값으로 채워집니다. 쿼리 실행 결과는 콜백 함수를 통해 전달되며, result.insertId를 통해 새로 생성된 사용자의 ID를 얻을 수 있습니다.

주의해야 할 점

  1. 데이터베이스 연결을 설정할 때, 올바른 호스트, 사용자명, 비밀번호, 데이터베이스명을 사용해야 합니다.
  2. 쿼리를 작성할 때, SQL 인젝션 공격을 방지하기 위해 입력값을 적절히 검증하고 이스케이프 처리해야 합니다.
  3. 데이터베이스 연결은 비동기적으로 처리되므로, 쿼리 실행 순서에 주의해야 합니다.
  4. 쿼리 실행 결과를 처리할 때, 오류 처리와 예외 처리를 적절히 수행해야 합니다.
  5. 보안을 위해 데이터베이스 연결 정보를 소스 코드에 직접 포함하지 않고, 환경 변수나 별도의 설정 파일에서 관리하는 것이 좋습니다.

Node.js와 MySQL을 연동하여 쿼리를 작성하고 실행하는 방법에 대해 알아보았습니다. 이를 통해 웹 애플리케이션 등에서 데이터베이스와의 상호작용을 수행할 수 있습니다. 자세한 내용은 공식 문서나 관련 자료를 참고하시면 도움이 될 것입니다. 활용하면서 즐겁게 개발해 보세요!

답글 남기기