이 글에서는 Node.js를 사용하여 데이터베이스 서버를 구축하는 방법을 소개합니다. Node.js는 비동기 이벤트 기반 프로그래밍을 쉽게 구현할 수 있는 Chrome JavaScript 엔진을 기반으로 하는 서버측 JavaScript 개발 도구입니다. 서버 개발을 위해 Node.js를 사용할 때 다양한 프레임워크와 라이브러리를 사용하여 개발할 수 있으며 그 중 가장 널리 사용되는 것은 Express.js이지만 다른 프레임워크도 동일한 기능을 달성할 수 있습니다. 서버의 확장성과 안정성을 높이려면 데이터 저장에 적합한 데이터베이스를 선택해야 합니다. 이 문서에서는 MySQL 데이터베이스를 사용하여 데이터를 저장하는 방법을 보여줍니다.
시작하기 전에 시스템에 Node.js 및 MySQL을 설치해야 합니다. Node.js는 공식 홈페이지(https://nodejs.org)에서 다운로드할 수 있고, MySQL도 공식 홈페이지(https://www.mysql.com/)에서 다운로드할 수 있다.
먼저, 데이터를 저장할 데이터베이스와 데이터 테이블을 MySQL에 생성해야 합니다. 다음 명령을 사용하여 test라는 데이터베이스를 만듭니다.
CREATE DATABASE test;
다음으로 users라는 데이터 테이블을 만듭니다.
USE test; CREATE TABLE users ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, PRIMARY KEY (id), UNIQUE KEY email (email) );
이 테이블에는 id, name, email이라는 세 개의 열이 포함되어 있습니다. id 열은 각 항목이 고유한 ID를 갖도록 보장하는 자동 증가 열입니다. 이름 및 이메일 열은 필수 필드이므로 테이블 정의에 NOT NULL 제약 조건을 정의합니다. 이메일 열에는 각 이메일 주소가 한 번만 표시되도록 하는 고유한 키 인덱스도 있습니다.
다음으로 Node.js에 MySQL 모듈을 설치해야 합니다. npm 명령을 사용하여 mysql 모듈을 설치할 수 있습니다.
npm install mysql
애플리케이션에서 MySQL에 연결하려면 mysql 모듈을 사용해야 합니다. 연결 개체를 인스턴스화하려면 연결 정보를 사용해야 합니다.
const mysql = require('mysql'); const connection = mysql.createConnection({ host : 'localhost', user : 'user', password : 'password', database : 'test' });
이 예에서는 데이터베이스 연결 정보를 정의합니다. MySQL 서버가 로컬인 경우 호스트 이름은 localhost여야 합니다. 이 예에서는 비밀번호가 사용되었으며 이는 안전하지 않은 관행입니다. 실제 사용에서는 환경 변수에서 비밀번호를 읽는 등 보다 안전한 조치를 취해야 합니다.
이제 신규 사용자 생성, 사용자 정보 가져오기, 사용자 삭제 등의 API를 작성할 수 있습니다. Express.js를 통해 라우팅 기능을 구현해야 합니다. 이 예에서는 Express.js를 사용했습니다.
const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.json()); // 创建新用户 app.post('/users', (req, res) => { const user = req.body; connection.query('INSERT INTO users SET ?', user, (err, results) => { if (err) { res.status(500).send(err); } else { res.status(200).send(results); } }); }); // 获取用户信息 app.get('/users/:id', (req, res) => { const id = req.params.id; connection.query('SELECT * FROM users WHERE id = ?', id, (err, results) => { if (err) { res.status(500).send(err); } else { res.status(200).send(results[0]); } }); }); // 删除用户 app.delete('/users/:id', (req, res) => { const id = req.params.id; connection.query('DELETE FROM users WHERE id = ?', id, (err, results) => { if (err) { res.status(500).send(err); } else { res.status(200).send(results); } }); }); // 启动服务器 app.listen(3000, () => { console.log('Server started on port 3000'); });
위 코드에서는 body-parser 미들웨어를 사용하여 수신 JSON 데이터를 구문 분석합니다. 또한 .urlencoded 데이터 구문 분석을 지원합니다. 우리는 라우터를 새로운 사용자를 생성하고, 사용자 정보를 얻고, 사용자를 삭제하는 POST, GET 및 DELETE 작업으로 정의합니다. 각 요청에서 우리는 Connection.query() 함수를 사용하여 SQL 쿼리를 실행하고 결과를 클라이언트에 반환합니다. 쿼리가 실패하면 500 오류가 반환됩니다.
이제 컬 명령을 사용하여 API를 테스트할 수 있습니다. 다음은 몇 가지 샘플 명령입니다.
새 사용자 만들기:
curl -X POST -H 'Content-Type: application/json' -d '{"name": "Alice", "email": "alice@example.com"}' http://localhost:3000/users
사용자 정보 가져오기:
curl http://localhost:3000/users/1
사용자 삭제:
curl -X DELETE http://localhost:3000/users/1
이제 Node.js와 MySQL을 사용하여 간단한 데이터베이스 서버를 성공적으로 만들었습니다. 더 많은 API 작업을 지원하도록 확장하거나 MongoDB 또는 PostgreSQL과 같은 다른 데이터베이스 시스템을 사용할 수 있습니다.
위 내용은 Nodejs 데이터베이스 서버 설정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!