🖍️ 개요
DB 부터 설치하겠다. 현재 프로젝트는 블로그를 위해서 집에서 다시 설치하는 것으로 회사와는 무관하다. (MYSQL은 개인이나 교육용은 무료라 해서 괜히 쫄려서 주절주절..🥶) 오늘은 MYSQL 설치를 하고 테이블까지 생성할 예정이다.
현재 PC : Window 10
💾 mySQL 설치
❶ MYSQL 홈페이지에서 설치파일을 받는다.
❷ 버전이랑 os를 선택해준다. (현재 8.1.0까지 나왔는데 8.0.34로 설치하자!)
❸ msi 설치파일을 실행해서 아래와 같이 진행한다. (나는 데이터도 따로 넣을 꺼라 최소한만 설치했다.)
❹ Port를 설정한다. (MYSQL 기본 포트가 3306이다.)
❺ 비밀번호도 설정한다. (추후에 비밀번호로 접속해야하므로 꼭 기억해야한다.)
❻ 나머지는 디폴트로 쭉쭉쭉 설치한다.
❼ 설치가 완료되면 아까 설정한 비밀번호로 접속하면 된다.
이렇게 MYSQL 설치가 끝났다!
📅 테이블 만들기
❶ 스키마를 생성한다. (왼쪽 위에 DB모양이 스키마이다.)
❷ Schema를 누르면 ❶에서 만든 스키마가 생성된 것을 확인할 수 있다.
❸ 생성한 스키마 > Table 우클릭 > Create Table로 테이블을 만들자.
❹ PK는 기본키, NN는 Not Null, AI는 Auto Increment로 자동으로 숫자를 +1씩 하는 것이다.(IDX에 적합한 옵션이다.)
또한, (CURRENT_DATE)는 데이터 입력시 입력한 현재 날짜를 자동으로 입력해주는 옵션이다. (꼭 괄호를 붙여야한다!! 안 그러면 에러남)
❺ 테이블이 만들어졌다.
🗃️ 테이블 구조 복사
개요에서 잠깐 봤듯이 BoardList 형식이라 테이블 구조가 비슷하다. 따라서 일일이 하기에는 비효율적이라 테이블 구조를 복사해서 만들었다.
Query에 위 명령어를 입력하고 Ctirl+Enter를 누르면 새로운 테이블이 만들어진다.
명령어는 직역한 거와 같이 다음과 같다
CREATE TABLE IF NOT EXISTS server.service : server(스키마)에 service라는 테이블이 없으면 만들어라.
LIKE server.server : server 테이블처럼
여기서 핵심은 테이블명 server만 적어주는 것이 아닌, 스키마명과 함께 server.server로 적어줘야한다. (안그럼 에러남)
🔭 테이블 구조 확인
📅 users
로그인에 필요한 ID와 Password를 저장할 테이블이다.
📅 vmlist
MAIN 화면에 쓰일 IP, pcNAME, Status를 저장할 테이블이다.
📅 template
템플릿을 저장할 테이블로, content에 html 코드가 들어간다. (DATE 옆 curdate()는 위에서 CURRENT_DATE를 설정한 것이다.)
📅 BoardList (server, service, etc)
공통으로 사용할 server, service 테이블로 TemplateIdx는 template 테이블을 참조하기 위한 값을 저장하는 컬럼이다.
server는 점검일자, 점검내용이 들어갈 예정이고, service에는 서비스 변경 전/후가 내용으로 들어갈 예정이다.
etc 테이블은 개인 공지사항을 안내할 페이지이므로, IP와 pcName 저장하는 컬럼이 따로 있다.
🐳 마무리
처음에 DB를 다뤄야할 때 막막했던 게 생각난다. 이론으로만 배웠던 SQL 명령어도 다뤄봐서 신기하기도 하고, 에러가 많이 나서 답답했던 경험이었다. DB는 너무 예민한 친구다.
'💻 프로젝트 > 02. 사내 공지 데스크톱 앱' 카테고리의 다른 글
『Client 01 』 [React] [Electron] Electron에 React 창 띄우기 (0) | 2023.09.16 |
---|---|
『Server 03 』 [React] 프로젝트 생성 + 불필요한 파일 정리 (0) | 2023.09.13 |
『Server 01 』 Server UI 설명 (0) | 2023.09.11 |
[CKEditor] CKEditor Custom (feat. React) (0) | 2023.08.25 |
프로젝트 개요 (0) | 2023.07.31 |