본문 바로가기

Study/유용한 정보

MySQL Workbench 사용 기초

처음 SQL workbench로 접한 것이 MySQL인데, GUI도 깔끔하고 쓰기 편리한 것 같아서 과제 수행 시에도 이 프로그램을 계속 썼다. 처음 workbench를 작동시키면 이러한 화면이 뜬다.

 

Workbench 첫 시작 화면

"MySQL Connecrions"라고 적힌 부분 옆의 + 기호를 누르면 Connection을 새로 만들 수 있다. Connection에 접속 시에는 항상 비밀번호를 입력하는 창이 뜬다. 이걸 까먹으면 들어가지도 못하고 비밀번호를 새로 바꾸는 일도 굉장히 번거롭기에 꼭 어딘가에 메모를 해두는 것을 권장한다. (주로 쓰는 비밀번호로 설정하지 않았다가 낭패를 본 경험이 있다,,)

 

비밀번호 입력창

다음은 한 connection을 접속했을 때의 화면이다. 한 connection내에 여러 SQL script file을 열 수 있으며, 여러 connection을 열어놓고 작업을 할 수도 있다. 

connection 페이지

schemas 목록의 스키마들은 상단의 버튼을 통해 생성하여 추가할 수도 있지만 , 개인적으로 그냥 쿼리문을 이용해서 만드는 것이 더 편하다. (결국 버튼을 통해 만들어지는 것도, 같은 쿼리문을 프로그램이 짜서 명령하는 원리임)

 

예를 들어 'dbCourse'라는 이름의 데이터베이스를 만들어보자.

우선 본격적으로 생성하기 전, 같은 이름의 스키마가 있으면 삭제하도록 쿼리문을 작성한다.

DROP DATABASE IF EXISTS 데이터베이스이름;

 

스키마를 생성하는 것은 CREATE DATABASE를 사용한다. 이때, 한국어로 작성된 데이터가 들어가는 경우 utf8 설정이 필요하다. 처음부터 MySQL 서버 설정 자체의 default를 utf8로 설정한다면 상관없지만, 만약 그렇지 않은 경우에는 각 데이터 베이스에 대한 character set의 필요한 것이다. 

또한 텍스트 데이터를 정렬하기 위해서 collation, 즉 정렬이 필요하다. utf8기준 주로 사용되는 collation에는 'utf8_bin' 또는 'utf8_general_ci'가 있다. 'utf_8 bin'은 바이너리 데이터를 그대로 저장하기 때문에, 16진수 기준으로 크기 순서대로 저장이 되며, 'utf8_general_ci'는 A 다음엔 B가 아닌 a가 먼저 와야 한다는 생각에서 비롯된 것으로 현재 가장 일반적으로 사용되는 정렬 형식이다. 하지만 이번엔 utf8_bin의 설정으로 진행해보았다.

CREATE DATABASE 데이터베이스 이름 DEFAULT CHARSET = utf8 COLLATE = utf8_bin;

 

데이터베이스가 올바르게 생성됐는지를 확인하기 위해서, 현재 내가 소유한 데이터베이스의 모든 목록을 보여주는 뭐리문을 실행시킨다.

SHOW DATABASES;

 

데이터베이스 생성을 완료한 후 해당 데이터베이스를 활용하여 테이블을 구성하고 쿼리문을 실행시키기 위해서, 해당 데이터베이스를 사용하겠다는 명령이 필요하다.

USE 데이터베이스 이름;

 

위의 과정을 정리해보면 다음과 같다.

DROP DATABASE IF EXISTS dbCourse;
CREATE DATABASE dbCourse DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
SHOW DATABASES;
USE dbCourse;

해당 쿼리문들의 실행 결과 화면이다. 데이터베이스가 올바르게 생성됐음을 확인할 수 있다.

이제 데이터를 삽입하고 조회하는 등 작업을 할 준비를 마친 것이다.

데이터 베이스 생성 결과 화면