>웹 프론트엔드 >프런트엔드 Q&A >nodejs 쿼리 데이터베이스 반환

nodejs 쿼리 데이터베이스 반환

王林
王林원래의
2023-05-25 09:40:08805검색

Node.js는 JavaScript를 사용하여 서버 측 코드를 작성할 수 있고 비동기 I/O 및 이벤트 중심 모델을 지원하며 확장성이 뛰어난 네트워크 애플리케이션을 구축하는 데 매우 적합한 경량 JavaScript 런타임 환경입니다. 웹 애플리케이션을 개발할 때 사용자 정보 쿼리, 주문 내역 검색 등 데이터베이스와의 상호 작용이 필요한 경우가 많습니다. 이 기사에서는 Node.js에서 데이터베이스를 쿼리하고 데이터를 반환하는 방법을 소개합니다.

데이터베이스 선택

데이터베이스 쿼리를 시작하기 전에 사용할 데이터베이스를 선택해야 합니다. Node.js는 MongoDB, MySQL, PostgreSQL 등 널리 사용되는 많은 데이터베이스를 지원합니다. 각 데이터베이스에는 장단점이 있으므로 프로젝트 요구 사항에 따라 적절한 데이터베이스를 선택해야 합니다. 이 글에서는 MySQL 데이터베이스를 사용하겠습니다.

MySQL 설치

MySQL 데이터베이스를 사용하기 전에 먼저 MySQL을 설치해야 합니다. Ubuntu에서는 다음 명령을 사용할 수 있습니다.

sudo apt-get update
sudo apt-get install mysql-server

Windows에서는 MySQL 공식 웹사이트에서 설치 프로그램을 다운로드하고 프롬프트에 따라 설치할 수 있습니다.

MySQL 데이터베이스에 연결

Node.js에서는 npm 패키지 mysql을 사용하여 MySQL 데이터베이스와 상호 작용할 수 있습니다. 이 라이브러리를 사용하려면 먼저 설치해야 합니다. 다음 명령을 사용할 수 있습니다.

npm install mysql

MySQL 데이터베이스에 연결하려면 데이터베이스에 대한 모든 연결을 관리하는 연결 풀을 생성해야 합니다. 다음은 MySQL 데이터베이스에 연결하기 위한 샘플 코드입니다:

const mysql = require('mysql');

const pool = mysql.createPool({
  connectionLimit: 10,
  host: 'localhost',
  user: 'username',
  password: 'password',
  database: 'database_name'
});

pool.getConnection((err, connection) => {
  if (err) throw err;
  console.log('Connected to MySQL');
})

이 예에서는 mysql.createPool 메소드를 사용하여 연결 풀을 생성하고 최대 연결 수, 호스트 이름, 사용자 이름, 비밀번호 및 이름과 같은 일부 옵션을 전달합니다. 연결할 데이터베이스입니다. 그런 다음 pool.getConnection 메소드를 사용하여 연결 풀에서 연결을 가져옵니다. 성공하면 "Connected to MySQL" 메시지가 인쇄됩니다.

데이터베이스 쿼리

MySQL 데이터베이스에 연결한 후 연결 개체를 사용하여 데이터베이스를 쿼리할 수 있습니다. 다음은 MySQL 데이터베이스의 모든 사용자를 쿼리하는 샘플 코드입니다.

const mysql = require('mysql');

const pool = mysql.createPool({
  connectionLimit: 10,
  host: 'localhost',
  user: 'username',
  password: 'password',
  database: 'database_name'
});

pool.getConnection((err, connection) => {
  if (err) throw err;

  connection.query('SELECT * FROM users', (err, rows) => {
    if (err) throw err;

    console.log(rows);
    connection.release();
  });
});

이 예에서는 Connection.query 메서드를 사용하여 MySQL 데이터베이스의 모든 사용자를 쿼리합니다. 이 메소드는 두 개의 매개변수, 즉 SQL 쿼리가 포함된 문자열과 콜백 함수를 허용합니다. 쿼리가 성공하면 콜백 함수의 두 번째 매개변수는 모든 쿼리 결과를 포함하는 배열이 됩니다. 이 예에서는 결과를 콘솔에 인쇄하고 Connection.release 메서드를 사용하여 데이터베이스 연결을 해제합니다.

쿼리 결과를 추가로 처리할 수 있습니다. 예를 들어 Array.map 메서드를 사용하여 결과를 개체 배열로 변환할 수 있습니다.

rows = rows.map(row => {
  return {
    id: row.id,
    name: row.name,
    email: row.email
  };
});

이 예에서는 Array.map 메서드를 사용하여 결과의 ​​각 행 개체를 ID가 name인 개체로 변환합니다. 및 이메일 속성이 있습니다.

결과 제한

경우에 따라 상위 10개 결과만 반환하는 등 쿼리 결과를 제한해야 할 수도 있습니다. MySQL에서는 LIMIT 절을 사용하여 결과를 제한할 수 있습니다. 다음은 결과를 제한하는 방법을 보여주는 샘플 코드입니다.

connection.query('SELECT * FROM users LIMIT 10', (err, rows) => {
  if (err) throw err;

  console.log(rows);
  connection.release();
});

이 예에서는 LIMIT 절을 사용하여 결과를 처음 10개 행으로만 제한합니다.

결과 필터링

경우에 따라 특정 기준에 따라 쿼리 결과를 필터링해야 할 수도 있습니다. MySQL에서는 WHERE 절을 사용하여 결과를 필터링할 수 있습니다. 다음은 WHERE 절을 사용하여 결과를 필터링하는 방법을 보여주는 샘플 코드입니다.

connection.query('SELECT * FROM users WHERE age > 18', (err, rows) => {
  if (err) throw err;

  console.log(rows);
  connection.release();
});

이 예에서는 WHERE 절을 사용하여 18세 이상의 사용자만 포함하도록 결과를 필터링합니다.

요약

이 글에서는 Node.js에서 MySQL 데이터베이스를 쿼리하고 결과를 반환하는 방법을 소개했습니다. 먼저 MySQL 데이터베이스에 연결한 다음 쿼리를 실행하고 콜백 함수를 사용하여 결과를 처리합니다. 또한 결과를 제한 및 필터링하고 결과를 추가로 처리하는 방법도 논의했습니다. 이 기사가 Node.js에서 데이터베이스를 쿼리하는 데 도움이 되기를 바랍니다.

위 내용은 nodejs 쿼리 데이터베이스 반환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.