1. Workbench
1-1. MySQL Workbench에서 새로운 연결을 생성한다.
- MySQL Workbench 실행 > + 클릭
1-2. 원하는 Connection Name(‘mysql-local’)을 입력한다.
- 로컬에서 실행 중인 MySQL Server를 사용하는 경우
- hostname: 127.0.0.1 또는 localhost
- mysql 기본 포트: 3306
1-3. 아래의 Test Connection 클릭
- MySQL을 설치할 때 지정한 root password를 입력한다.
(root 계정을 제거한 경우 root 권한을 가진 계정 정보를 입력한다.)
- 만약 connection을 실패할 경우, mysql server가 켜져 있는지 확인하거나 password가 맞는지 확인해야 한다.
2. 실행 중인 MySQL과 연결한다.
- MySQL Connections > 위에서 지정한 Connection Name(‘mysql-local’) 클릭 > password 입력
3. File > New Model (MacOS: Cmd + N)
- mydb 더블 클릭 - 원하는 Schema Name(‘ally_db’)을 입력한다.
4. 자신이 설계한 Table을 DB에 넣는다.
두 가지 방법
[방법1] Add Diagram 이용
- Add Diagram 클릭 > Place a New table 클릭
Ex)
- table name을 “user”로 설정
- AI: auto incremental, 자동으로 1씩 증가하도록 하는 것
- id, 이름, 이메일을 등록한다.
[방법2] Add Table 이용
Ex)
- table name을 “product”(Ex. 쇼핑몰의 상품)로 설정
- id, 상품명, 카테고리(분류), 가격, 제조사, 잔고, 설명을 등록한다.
참고 자신이 설계한 Model 저장
- File > save model as > 원하는 Name(해당 포스트에서는 ’ally_db’)을 입력한다.
- 자신이 설계한 내용을 불러올 수 있다.
5. 자신의 설계한 Model을 실제 DB에 반영
- Database > Forward Engineer 클릭
- Forward Engineer: 자신의 설계한 Model을 실제 DB에 반영하는 것
- Reverse Engineer: DB의 내용을 가지고 Model을 만드는 것
- Stored Connection: 자신이 설정한 Connection Name(‘mysql-local’) 선택
- MySQL을 설치할 때 지정한 root password를 입력
6. 실제 DB에 반영되었는지 조회
1. MySQL Model은 닫고 Local instance로 돌아온다.
2. refresh를 한다.
3. 해당 Schema를 기본으로 설정한다.
- eStore 우클릭 - Set as Default Schema
- 해당 Schema가 진하게 표시된 것을 확인할 수 있다.
7. 기본 SQL 문법
1) ‘desc table이름’을 통해 설계한 columns의 내용을 확인한다.
Ex) desc user; 입력 후 실행 (번개모양)
2) ‘insert into table이름 (column1, column2, column3) valuse (value1, value2, value3);으로 table에 data를 넣는다.
Ex) insert into user (name, email) values (‘heee’, ‘heee@email.com’);
참고 명령어 반복
- 아래의 Action Output의 명령어 우클릭 > ‘Replace SQL Script With Selected items’ 클릭
3) ‘select * from table이름’으로 table에 들어간 columns를 확인한다.
Ex) select * from user; 입력 후 columns들을 확인한다.
8. Result Grid에서 추가/수정한 내용을 DB에 반영하기 위해서는 우측 하단에 Apply를 선택한다.
heee -> Heee 변경 후 Apply
DB 백업하기
- 자신이 설계한 Model 저장하기
- Table 안의 Data 백업하기
- DB 전체 백업하기
- 위의 내용은 MySQL Workbench DB 백업하기 POST를 참고하자!