>웹 프론트엔드 >프런트엔드 Q&A >Nodejs 데이터베이스 서버 설정

Nodejs 데이터베이스 서버 설정

WBOY
WBOY원래의
2023-05-23 16:59:40680검색

이 글에서는 Node.js를 사용하여 데이터베이스 서버를 구축하는 방법을 소개합니다. Node.js는 비동기 이벤트 기반 프로그래밍을 쉽게 구현할 수 있는 Chrome JavaScript 엔진을 기반으로 하는 서버측 JavaScript 개발 도구입니다. 서버 개발을 위해 Node.js를 사용할 때 다양한 프레임워크와 라이브러리를 사용하여 개발할 수 있으며 그 중 가장 널리 사용되는 것은 Express.js이지만 다른 프레임워크도 동일한 기능을 달성할 수 있습니다. 서버의 확장성과 안정성을 높이려면 데이터 저장에 적합한 데이터베이스를 선택해야 합니다. 이 문서에서는 MySQL 데이터베이스를 사용하여 데이터를 저장하는 방법을 보여줍니다.

  1. Node.js 및 MySQL 설치

시작하기 전에 시스템에 Node.js 및 MySQL을 설치해야 합니다. Node.js는 공식 홈페이지(https://nodejs.org)에서 다운로드할 수 있고, MySQL도 공식 홈페이지(https://www.mysql.com/)에서 다운로드할 수 있다.

  1. 데이터베이스 및 데이터 테이블 생성

먼저, 데이터를 저장할 데이터베이스와 데이터 테이블을 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 제약 조건을 정의합니다. 이메일 열에는 각 이메일 주소가 한 번만 표시되도록 하는 고유한 키 인덱스도 있습니다.

  1. MySQL 모듈 설치

다음으로 Node.js에 MySQL 모듈을 설치해야 합니다. npm 명령을 사용하여 mysql 모듈을 설치할 수 있습니다.

npm install mysql
  1. Connect to MySQL

애플리케이션에서 MySQL에 연결하려면 mysql 모듈을 사용해야 합니다. 연결 개체를 인스턴스화하려면 연결 정보를 사용해야 합니다.

const mysql = require('mysql');

const connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'user',
  password : 'password',
  database : 'test'
});

이 예에서는 데이터베이스 연결 정보를 정의합니다. MySQL 서버가 로컬인 경우 호스트 이름은 localhost여야 합니다. 이 예에서는 비밀번호가 사용되었으며 이는 안전하지 않은 관행입니다. 실제 사용에서는 환경 변수에서 비밀번호를 읽는 등 보다 안전한 조치를 취해야 합니다.

  1. 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 오류가 반환됩니다.

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

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