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 중국어 웹사이트의 기타 관련 기사를 참조하세요!