[NodeJS] MySQL 연동하기

seonjeong·2023년 6월 14일

NodeJS

목록 보기
8/19
post-thumbnail

MySQL 설치

npm install mysql2

Node.js와 MySQL 연동

import mysql from "mysql2";
import dotenv from "dotenv";

dotenv.config(); // .env 파일의 환경 변수를 로드

const { DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE } = process.env;

const connection = mysql.createConnection({
  host: DB_HOST,
  user: DB_USER,
  password: DB_PASSWORD,
  database: DB_DATABASE,
});

connection.connect(); // 연결

// 연결 테스트
const sql = "SELECT * FROM MEMBER";
connection.query(sql, (error, rows, fields) => {
  if (error) throw error;
  console.log("Member info is ", rows);	// 콘솔에 해당 값이 출력되면 연결 성공
});

connection.end();	// 연결 해제

Express 코드작성

express를 이용하여 클라이언트에서 데이터를 요청하면 DB에 있는 데이터를 제공할 수 있도록 코드를 작성

// db_config.ts
// 데이터베이스 설정과 관련 파일은 따로 분리

import dotenv from "dotenv";

dotenv.config(); // .env 파일의 환경 변수를 로드

const { DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE } = process.env;

const db_config = {
  host: DB_HOST,
  user: DB_USER,
  password: DB_PASSWORD,
  database: DB_DATABASE,
};

export default db_config;

import express from "express";
import mysql from "mysql2";
import db_config from "./config/db_config";

const connection = mysql.createConnection(db_config);
const app = express();

// 설정
app.set("port", process.env.PORT || 3000);

app.get("/", (req, res) => {
  res.send("hello");
});

app.get("/users", (req, res) => {
  const sql = "SELECT * FROM MEMBER";
  connection.query(sql, (error, rows, fields) => {
    if (error) throw error;
    console.log("Member info is ", rows);
    res.send(rows);	
  });
});

app.listen(app.get("port"), () => {
  console.log("Express server listening on port " + app.get("port"));
});
profile
🦋개발 공부 기록🦋

0개의 댓글