Vue.js + Express + MySQL로 Node API 서버 구성하기 Quick Start — Part 2

Express + MySQL로 DB 연동하기

조진주
hivelab-dev
7 min readJun 5, 2019

--

Part1에서는 Vue.js와 Express로 프론트엔드와 백엔드 간의 통신 방법을 다뤄보았습니다.

이번 파트에서는 Vue.js를 제외하고, Express에 MySQL 연동하여 간단한 사용자 정보를 입력받을 수 있는 예제를 소개합니다.

Step1. MySQL Workbench 설치 및 실행

MySQL 서버를 구동하는 방법은 여러가지가 있겠지만, MySQL Workbench는 GUI로 되어 있어 비교적 쉽게 다룰 수 있다는 장점이 있습니다.

MySQL Workbench을 아래 경로에서 다운 받습니다.
https://dev.mysql.com/downloads/workbench/

설치를 하는 과정에서 Root 계정의 비밀번호를 받는데, 이때 입력한 비밀번호를 반드시 기억하도록 합니다.

설치가 완료된 Workbench를 실행하면 다음과 같은 화면을 확인할 수 있습니다. 설치 과정에서 세팅한 관리자 계정으로 MySQL 서버를 실행합니다.

MySQL Workbench 첫 실행화면

Step2. DB 생성

디스크 모양의 버튼을 눌러 새로운 DB(Schema)를 생성합니다.
DB 이름과 Charset 을 입력합니다.

DB(Schema) 생성 화면

Apply 버튼을 누르면, DB 생성 쿼리(CREATE SCHEMA 'test_crud' DEFAULT CHARACTER SET utf8;)가 나오게 되는데, 그 밑에 다음과 같은 쿼리를 추가하여 사용자의 아이디, 이름, 주소를 저장하는 테이블을 하나 생성합니다.

왼쪽 Navigator에서 DB(test_crud) > Tables > 테이블(users)을 선택한 뒤, 테이블 모양의 아이콘을 누르면 SELECT * FROM test_crud.users; 라는 쿼리가 실행되면서, 테이블이 정상적으로 생성되었다는 것을 확인할 수 있습니다. 현재는 아무런 데이터가 없기 때문에 비어 보입니다.

Step3. 데이터를 입력받을 프론트 화면 마크업

public/index.html 파일을 하나 생성하고 데이터를 받을 수 있는 간단한 마크업을 추가합니다. submit을 누르면, 각 인풋에 선언된 name 값을 통해 데이터를 전송합니다.

여기에 약간의 스타일을 더해 다음과 같은 화면을 만들었습니다. npm start로 서버를 실행한 뒤, localhost:3000에서 확인합니다.

Step4. 백엔드 처리

npm install mysql --save 명령어로 mysql 패키지를 설치한 뒤, app.js에 다음 내용을 추가합니다. connection 객체는 설치한 DB 환경에 맞는 값으로 변경해줍니다.

입력받은 값을 처리하는 구문은 다음과 같습니다.

npm start로 서버를 다시 실행하고, 데이터를 입력해봅니다. 모든 과정에 문제가 없다면, success라는 메시지를 확인할 수 있고, DB 테이블에 레코드가 하나 생긴 것을 확인할 수 있습니다.

데이터를 입력받아 정상적으로 DB에 저장된 화면

입력에 성공했기 때문에 쿼리만 변경한다면 불러오는 것도 가능합니다.

Part3에서는 Vue.js와 Express, MySQL을 모두 활용해 간단한 회원가입/로그인 기능 구현 방법을 소개하겠습니다.

🔍 하이브랩과 함께 할 멋진 FE개발자를 찾고 있습니다.

--

--