하위 태스크 1

MySQL 서버 설치 및 접속

MySQL 서버 설치 후 DBeaver 등 클라이언트로 접속 연결 생성

mysql:8.0 이미지를 사용해 Docker 컨테이너를 실행한다. 다음 코드 블록을 PowerShell에 입력하면 mysql-data Docker 볼륨을 생성하고 생성한 볼륨에 마운트된 mysql-server 컨테이너를 실행한다.

docker volume create mysql-data
docker run --name mysql-server `
  -e MYSQL_ROOT_PASSWORD=J8iY96skR0rb ` # 임의의 비밀번호
  -p 3306:3306 `
  -v mysql-data:/var/lib/mysql `
  -d mysql:8.0

DBeaver를 실행하고 새 MySQL 연결을 생성한다. 연결 정보를 다음과 같이 입력한다.

  • Server Host: localhost
  • Port: 3306
  • Username: root
  • Password: J8iY96skR0rb! — Docker 컨테이너 실행 시 전달한 MYSQL_ROOT_PASSWORD

Test Connection … 버튼을 클릭해 MySQL Server와 정상적으로 연결되었는지 확인한다.

Public Key Retrieval is not allowed

Test Connection … 버튼을 클릭하면 Public Key Retrieval is not allowed 오류가 발생할 수 있다. Driver properties 탭의 allowPublicKeyRetrieval 항목을 true로 변경하여 문제를 해결한다.

완료 버튼을 클릭하여 MySQL Server 접속에 성공한다. DBeaver의 좌측 패널에서 Databases 목록을 확인할 수 있다.

하위 태스크 2

doitmysql 스크립트 열기

doitmysql/Chapter3/03-1.sql 파일을 클라이언트에서 열기

DBeaver에서 Ctrl + o 단축키를 입력하면 파일 열기 창이 표시된다. 다운로드한 03-1.sql를 선택하면 다음과 같이 스크립트 파일이 열린다.

DBeaver의 리본 메뉴에서 Active Datasource 항목(사진의 빨간 윤곽선)을 클릭하고 하위 태스크 1에서 설정한 연결을 선택한다.

하위 태스크 3

doitsql 데이터베이스 생성

CREATE DATABASEUSE doitsql; 구문을 실행해 실습용 DB 생성

CREATE DATABASE doitsql; 문장에 커서를 두고 Ctrl + Enter 단축키를 입력해 실행한다. F5 단축키를 입력해 Database Navigator 패널을 새로고침하면 DoItSQL 데이터베이스가 생성된 것을 확인할 수 있다.

이어서 USE doitsql; 문장을 실행한다. Database Navigator 패널의 배경을 선택하면 하단 상태바에서 사용 중인 데이터베이스를 확인할 수 있다.

하위 태스크 4

테스트 테이블 생성

doit_create_table , doit_dml 등의 테이블을 생성하는 구문 실행

doit_create_table 테이블과 doit_dml 테이블을 생성하는 CREATE 문을 실행한다.

-- CREATE 문으로 테이블 생성
CREATE TABLE doit_create_table (
col_1 INT,
col_2 VARCHAR(50),
col_3 DATETIME
);
 
CREATE TABLE doit_dml (
col_1 INT,
col_2 VARCHAR(50),
col_3 DATETIME
);

SHOW TABLES; 문장을 스크립트 파일에 입력하고 실행한다. 두 개의 테이블이 생성되었음을 확인할 수 있다.

하위 태스크 5

데이터 삽입/조회 확인

스크립트 실행 후 SELECT 로 삽입된 데이터 확인

스크립트 파일에 포함된 유효한 INSERT 문을 실행한다.

INSERT INTO doit_dml (col_1, col_2, col_3) VALUES (1, 'DoItSQL', '2023-01-01');
INSERT INTO doit_dml VALUES (2, '열 이름 생략', '2023-01-02');
INSERT INTO doit_dml(col_1, col_2) VALUES (3, 'col_3 값 생략');
INSERT INTO doit_dml(col_1, col_3, col_2) VALUES (4,'2023-01-03', '열순서 변경');
INSERT INTO doit_dml(col_1, col_2, col_3) VALUES (5, '데이터 입력5', '2023-01-03'), (6, '데이터 입력6', '2023-01-03'), (7, '데이터 입력7', '2023-01-03');

SELECT * FROM doit_dml; 문장을 실행하여 삽입된 데이터를 확인한다.

스크립트 파일에 포함된 UPDATE 문을 실행한다.

UPDATE doit_dml SET col_2 = '데이터 수정' WHERE col_1 = 4;
UPDATE doit_dml SET col_1 = col_1 + 10;

SELECT * FROM doit_dml; 문장을 실행하여 수정된 데이터를 확인한다.

스크립트 파일에 포함된 DELETE 문을 실행한다.

DELETE FROM doit_dml WHERE col_1 = 14;

SELECT * FROM doit_dml; 문장을 실행하여 삭제된 데이터를 확인한다.

DELETE FROM doit_dml; 문장을 실행하면 doit_dml 테이블의 모든 행이 삭제된다. SELECT * FROM doit_dml; 문장을 실행하여 삭제된 데이터를 확인한다.

하위 태스크 6

DB 초기화 재실행

DROP DATABASE 후 전체 스크립트 재실행으로 초기화 연습

DROP DATABASE doitsql; 문장을 실행하여 doitsql 데이터베이스를 삭제한다.

F5 단축키를 입력하여 doitsql 데이터베이스가 삭제된 것을 DBeaver에서 확인한다.

스크립트 패널에서 Alt + X 단축키를 입력해 스크립트 전체를 실행할 수 있다. 스크립트는 오류를 발생시키는 의도적인 문장을 포함한다. 발생하는 오류를 건너뛰고 진행하면 데이터베이스의 최종적인 형태는 다음과 같다.

하위 태스크 7

나만의 스크립트 작성

새 데이터베이스/테이블/데이터를 만드는 개인용 .sql 스크립트 작성

Ctrl + ] 단축키를 입력하여 새 SQL 편집기를 실행한다. 새롭게 생성된 탭을 우클릭하고 Open Folder in Explorer 항목을 선택해서 스크립트 파일이 저장된 위치를 확인할 수 있다.

작성한 스크립트의 내용은 다음과 같다.

  • example_lab 데이터베이스를 생성한다.
  • example_table 테이블을 생성한다.
  • example_table 테이블에 데이터를 삽입한다.
  • example_table의 데이터를 조회한다.
CREATE DATABASE example_lab;
 
USE example_lab;
 
CREATE TABLE example_table (
name VARCHAR(20),
age INT,
birth DATETIME
);
 
 
INSERT INTO example_table (name, age, birth) VALUES ("홍길동", 24, "1980-12-29");
 
SELECT * FROM example_table;

Alt + X 단축키를 입력하여 스크립트를 실행한 결과는 다음 사진과 같다.

하위 태스크 8

실습 환경 가이드 문서화

설치부터 스크립트 실행까지 과정을 문서로 정리

현재 문서는 설치부터 스크립트 실행까지의 과정을 포함한다.

참고 문헌