Tech/Node.js

[Node] 고객(Customer) DB 테이블 구축 및 Express와 연동하기

lonnie(동현) 2021. 3. 17. 00:11

🛴 고객(Customer) DB 테이블 구축 및 Express와 연동하기

0️⃣ DB 이름 사용하기

DB 이름을 management라고 설정했기 때문에 아래와 같이 써주어야 한다.

USE management;

1️⃣ 고객 테이블 만들기

(1) 고객 테이블 만들기

CREATE TABLE CUSTOMER( )

(2) 한글 데이터를 포함하기 위해서 Character 세팅을 UTF 8으로 해준다.

CREATE TABLE CUSTOMER( ) DEFAULT CHARACTER SET UTF8 COLLATE utf8_general_ci;

(3) 필요한 컬럼들을 추가해준다.

CREATE TABLE CUSTOMER( 
    id INT PRIMARY KEY AUTO_INCREMENT, 
    image VARCHAR(1024), 
    name VARCHRAR(64), 
    birthday VARCHAR(64), 
    gender VARCHAR(64), 
    job VARCHAR(64) 
 ) DEFAULT CHARACTER SET UTF8 COLLATE utf8_general_ci;

(4) 실제로 입력한 코드이다. 코드를 입력을 완료한 뒤 실행을 시킨다.


(5) 아래 그림과 같이 정상적으로 CUSTOMER 테이블이 만들어진 것을 확인할 수 있다.


2️⃣ 고객 테이블에 데이터 넣기

(1) 이제 이 테이블에 데이터 값을 넣는 작업을 진행해보겠다. 데이터를 넣을 때는 INSERT INTO VALUES 를 사용한다.

USE management; 
    INSERT INTO CUSTOMER VALUES (1, 'https://placeimg.com/64/64/1', '동그리', '930121', '남자', '개발자'); 
    INSERT INTO CUSTOMER VALUES (2, 'https://placeimg.com/64/64/2', '당그리', '950214', '남자', '디자이너'); 
    INSERT INTO CUSTOMER VALUES (3, 'https://placeimg.com/64/64/3', '치동', '970402', '여자', '매니저');

(2) 실제로 데이터가 잘 들어갔는지 확인해본다.

USE management; 
SELECT * FROM CUSTOMER;

(3) 아래와 같이 깔끔하게 잘 들어간 것을 볼 수 있다.



3️⃣ server에서 해당 DB와 연동하여 데이터 가져오기

(1) database.json 파일 만들기



(2).gitigonore 파일에 /database.json을 추가한다. ( DB에 관련된 정보 유출을 막기 위해 github에 올라가지 않도록 처리)

 /database.json

(3) database.json 코드 작성

{ 
        "host" : "앤드 포인트", 
        "user", : "user", 
        "password" : "DB 비밀번호", 
        "port" : "포트 번호", 
        "database" : "management" 
 }

(4)npm install --save mysql 명령어를 이용해서 mysql package를 설치한다.
(5) 파일에 접근할 수 있는 라이브러리인 fs 불러오기

const fs = require('fs');

(6) database.json 파일 읽어오기

const data = fs.readFileSync('./database.json');

(7) 해당 환경 설정 데이터를 parsing 해서 가져오기

const data = fs.readFileSync('./database.json'); 
const conf = JSON.parse(data);

(8) mysql 라이브러리 불러오기

const data = fs.readFileSync('./database.json'); 
const conf = JSON.parse(data); 
const mysql = require('mysql');

(9) 연결과 관련된 변수 설정하기

const connection = mysql.createConnection({ 
    host : conf.host, 
    user : conf.user, 
    password : conf.password, 
    port : conf.port, 
    database : conf.database 
 }); 
connection.connect();

(10) 사용자가 customers 경로에 접속을 한 경우 DB에 접속을 해서 query를 날릴 수 있도록 설정

app.get('/api/customers', (req, res) => {  
    connection.query( "SELECT \* FROM CUSTOMER",  
    (err, rows, fields) => {  
    res.send(rows); }  
    );  
});

(11) yarn dev 명령어를 통해서 실제로 DB에서 데이터를 잘 받아오고 있는지 실행해보고 network도 확인해 본다.

정상적으로 잘 받아와서 출력해주는 것을 볼 수 있다.

4️⃣ 마무리

이로써, AWS RDS로 구축한 mySQL DB에 접근하여 express 서버로 데이터를 가져오는 작업을 완료하였다.

728x90
반응형