Nodejs 데이터베이스 서버 설정
이 글에서는 Node.js를 사용하여 데이터베이스 서버를 구축하는 방법을 소개합니다. Node.js는 비동기 이벤트 기반 프로그래밍을 쉽게 구현할 수 있는 Chrome JavaScript 엔진을 기반으로 하는 서버측 JavaScript 개발 도구입니다. 서버 개발을 위해 Node.js를 사용할 때 다양한 프레임워크와 라이브러리를 사용하여 개발할 수 있으며 그 중 가장 널리 사용되는 것은 Express.js이지만 다른 프레임워크도 동일한 기능을 달성할 수 있습니다. 서버의 확장성과 안정성을 높이려면 데이터 저장에 적합한 데이터베이스를 선택해야 합니다. 이 문서에서는 MySQL 데이터베이스를 사용하여 데이터를 저장하는 방법을 보여줍니다.
- Node.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 제약 조건을 정의합니다. 이메일 열에는 각 이메일 주소가 한 번만 표시되도록 하는 고유한 키 인덱스도 있습니다.
- MySQL 모듈 설치
다음으로 Node.js에 MySQL 모듈을 설치해야 합니다. npm 명령을 사용하여 mysql 모듈을 설치할 수 있습니다.
npm install mysql
- Connect to MySQL
애플리케이션에서 MySQL에 연결하려면 mysql 모듈을 사용해야 합니다. 연결 개체를 인스턴스화하려면 연결 정보를 사용해야 합니다.
const mysql = require('mysql'); const connection = mysql.createConnection({ host : 'localhost', user : 'user', password : 'password', database : 'test' });
이 예에서는 데이터베이스 연결 정보를 정의합니다. MySQL 서버가 로컬인 경우 호스트 이름은 localhost여야 합니다. 이 예에서는 비밀번호가 사용되었으며 이는 안전하지 않은 관행입니다. 실제 사용에서는 환경 변수에서 비밀번호를 읽는 등 보다 안전한 조치를 취해야 합니다.
- Writing API
이제 신규 사용자 생성, 사용자 정보 가져오기, 사용자 삭제 등의 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 테스트
이제 컬 명령을 사용하여 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사에서는 Data Fetching 및 기능 구성 요소의 DOM 조작과 같은 부작용을 관리하기위한 후크 인 React의 useEffect에 대해 설명합니다. 메모리 누출과 같은 문제를 방지하기 위해 사용법, 일반적인 부작용 및 정리를 설명합니다.

게으른로드는 필요할 때까지 컨텐츠로드를 지연시켜 초기로드 시간과 서버로드를 줄임으로써 웹 성능 및 사용자 경험을 향상시킵니다.

JavaScript의 고차 기능은 추상화, 공통 패턴 및 최적화 기술을 통해 코드 간접성, 재사용 성, 모듈성 및 성능을 향상시킵니다.

이 기사는 다중 연계 기능을 단일 연계 함수 시퀀스로 변환하는 기술 인 JavaScript의 카레에 대해 논의합니다. Currying의 구현, 부분 응용 프로그램 및 실제 용도와 같은 혜택, 코드 읽기 향상을 탐색합니다.

이 기사는 가상 Dom 트리를 비교하여 DOM을 효율적으로 업데이트하는 React의 조정 알고리즘을 설명합니다. 성능 이점, 최적화 기술 및 사용자 경험에 미치는 영향에 대해 설명합니다. 문자 수 : 159

기사는 Connect ()를 사용하여 React 구성 요소를 Redux Store에 연결하고 MapStateToprops, MapDispatchtoprops 및 성능 영향을 설명합니다.

이 기사는 REACT의 USECONTEXT를 설명하며, 이는 PROP 시추를 피함으로써 상태 관리를 단순화합니다. 중앙 집중식 상태 및 성능 개선과 같은 렌더링을 통해 성능 향상과 같은 이점에 대해 논의합니다.

기사에서는 extentdefault () 메서드를 사용하여 이벤트 처리기의 기본 동작 방지, 향상된 사용자 경험과 같은 이점 및 접근성 문제와 같은 잠재적 문제에 대해 논의합니다.
