Programming/MySQL

MySQL 공식 샘플 데이터베이스 적용하는 방법 (테스트용 데이터베이스)

Jan92 2024. 5. 31. 21:29

MySQL에서 제공되는 샘플 데이터베이스 적용 방법

MySQL 샘플 데이터베이스 적용 방법

해당 포스팅은 MySQL에서 공식적으로 지원하는 샘플 데이터베이스(Example Databases)를 다운로드하여 적용하는 과정을 정리한 내용입니다.

(예시에서 사용된 버전은 'mysql 8.3.0 version' 입니다.)

 


MySQL 샘플 데이터베이스 다운 및 적용

MySQL Example Databases

https://dev.mysql.com/doc/index-other.html?ref=dbwriter.io

 

위 주소로 접속하면 MySQL에서 제공하는 샘플 데이터베이스를 다운로드할 수 있으며, 아래 내용을 통해서 샘플 데이터베이스 중 'world database''employee data'를 적용하는 방법을 살펴보겠습니다.

 

 


world database 적용 방법

MySQL world database

우선 'world database' zip 파일을 다운로드합니다.

다운로드한 zip 파일을 압축 해제하면 해당 디렉터리 안에 다음과 같이 'world.sql' 파일이 존재하는데요.

 

 

world.sql 적용 방법

MySQLWorkbench 기준으로는 상단의 'File' -> 'Open SQL Script...' 과정을 통해 'world.sql' 파일을 다음과 같이 열어줍니다.

 

이후 'Command + A' (윈도우의 경우 'Ctrl + A') 단축키를 통해 script 파일 내용 전체를 선택하고 상단의 실행 버튼을 통해 전체 스크립트를 실행합니다.

(스크립트 실행 후 새로고침 과정이 필요합니다.)

 

 

world schema

해당 스크립트 파일의 내용이 정상적으로 적용되었다면 다음과 같이 world schema 하위에 'city', 'country', 'countrylanguage' 테이블이 생성되었고, 각 테이블에 데이터가 있는 것을 확인할 수 있습니다.

 

 


employee data 적용 방법

MySQL employee data download

'employee data'의 경우 앞선 예시인 'world database'와 다르게 Github를 통해 다운로드할 수 있는데요.

 

 

employee data

다운로드한 파일의 압축을 해제하고 해당 디렉터리를 살펴보면 'employees.sql' 외 여러 sql 파일 및 dump 파일 등이 존재하는 것을 확인할 수 있습니다.

 

여기서는 이전에 'world.sql' 파일을 적용했던 것과 같이 MySQLWorkbench를 통해 'employees.sql' 파일을 적용시킬 수도 있으며, 아래와 같이 쉘 명령어를 통한 방법을 사용할 수도 있습니다.

 

***

'employees.sql' 파일만 실행시키는 데 다른 파일들이 필요한 이유는 'employees.sql' 파일 내부적으로 해당 디렉터리의 다른 파일들을 호출하여 실행하기 때문입니다.

 

 

 

> mysql -t -u root -p < employees.sql

 

쉘 명령어를 통해 'employee data'를 적용시키는 방법은 'employees.sql' 파일이 위치한 경로에서 다음과 같은 명령어를 실행하는 것입니다.

(해당 명령어는 MySQL 클라이언트를 통해 SQL 파일을 실행하고 그 결과를 테이블 형식으로 출력하는 명령어입니다.)

 

해당 명령어를 입력하면 'CREATING DATABASE STRUCTURE', 'storage engine: InnoDB', 'LOADING departments'... 등의 내용이 출력되고 최종적으로 'data_load_time_diff'와 함께 스크립트 실행에 걸린 시간이 출력됩니다.

 

 

employees schema

위 과정이 정상적으로 실행되었다면 다음과 같이 employees schema 하위에 'employees', 'departments' 외 4개의 테이블이 생성된 것을 확인할 수 있습니다.

 

 

 

< 참고 자료 >

https://dbwriter.io/mysql-sample-dataset/
https://peterica.tistory.com/412