소개
이 프로젝트에서는 MySQL 을 사용하여 간단한 강좌 데이터베이스를 만드는 방법을 배웁니다. 이 프로젝트는 MySQL 데이터베이스 설정, 테이블 생성, CSV 파일에서 데이터베이스로 데이터 가져오기를 포함합니다.
👀 미리보기

🎯 과제
이 프로젝트에서 다음을 배우게 됩니다:
- MySQL 데이터베이스를 시작하고 MySQL 명령줄 클라이언트를 사용하여 액세스하는 방법
- 데이터베이스와 필요한 권한을 가진 사용자를 생성하는 방법
- SQL 스크립트에서 데이터베이스 스키마를 가져오는 방법
- CSV 파일에서 데이터베이스 테이블로 데이터를 가져오는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- MySQL 데이터베이스의 기본 구조와 설정을 이해합니다.
- 데이터베이스, 테이블 생성 및 데이터 가져오기와 같은 일반적인 데이터베이스 작업을 수행합니다.
- 지식을 적용하여 간단한 강좌 데이터베이스 시스템을 구축하고 관리합니다.
MySQL 데이터베이스 시작 및 MySQL 접속
이 단계에서는 MySQL 데이터베이스를 시작하고 MySQL 명령줄 클라이언트를 사용하여 액세스하는 방법을 배웁니다.
다음 명령을 사용하여 MySQL 데이터베이스 서비스를 시작합니다:
sudo service mysql start다음 명령을 사용하여 MySQL 명령줄 클라이언트에 접속합니다:
sudo mysql이렇게 하면 비밀번호 없이 MySQL 명령줄 클라이언트에 로그인됩니다.
LabEx 데이터베이스 및 사용자 생성
이 단계에서는 labex 데이터베이스와 필요한 권한을 가진 labex 사용자를 생성하는 방법을 배웁니다.
다음 SQL 문을 사용하여
labex데이터베이스를 생성합니다:CREATE DATABASE labex;다음 SQL 문을 사용하여 필요한 권한을 가진
labex사용자를 생성합니다:GRANT ALL PRIVILEGES ON labex.* TO 'labex'@'%' IDENTIFIED BY 'labex'; FLUSH PRIVILEGES;이렇게 하면 비밀번호가
labex인labex사용자가 생성되고, 이 사용자에게labex데이터베이스에 대한 모든 권한이 부여됩니다.
데이터베이스 스키마 가져오기
이 단계에서는 labex_db_info.sql 스크립트에서 데이터베이스 스키마를 임포트하는 방법을 배웁니다.
다음 SQL 문을 실행하여 데이터베이스 스키마를 임포트합니다:
SOURCE /home/labex/project/labex_db_info.sql;이렇게 하면
labex데이터베이스에 필요한 테이블 (user,course,usercourse) 이 생성됩니다.
CSV 데이터 파일 가져오기
이 단계에서는 CSV 데이터 파일을 해당 테이블로 임포트하는 방법을 배웁니다.
다음 SQL 문을 사용하여
labex_user.csv파일을user테이블로 임포트합니다:LOAD DATA LOCAL INFILE '/home/labex/project/labex_user.csv' INTO TABLE user FIELDS TERMINATED BY ',';다음 SQL 문을 사용하여
labex_course.csv파일을course테이블로 임포트합니다:LOAD DATA LOCAL INFILE '/home/labex/project/labex_course.csv' INTO TABLE course FIELDS TERMINATED BY ',';다음 SQL 문을 사용하여
labex_usercourse.csv파일을usercourse테이블로 임포트합니다:LOAD DATA LOCAL INFILE '/home/labex/project/labex_usercourse.csv' INTO TABLE usercourse FIELDS TERMINATED BY ',';
데이터 가져오기 검증
이 단계에서는 테이블을 쿼리하여 데이터 임포트를 확인하는 방법을 배웁니다.
다음 SQL 문을 실행하여
usercourse테이블의 데이터를 확인합니다:SELECT * FROM usercourse LIMIT 10;이렇게 하면
usercourse테이블의 처음 10 개 행이 표시되어 데이터가 올바르게 임포트되었는지 확인할 수 있습니다.
출력은 다음과 유사해야 합니다:
MariaDB [labex]> SELECT * FROM usercourse LIMIT 10;
+---------+-----------+------------+
| user_id | course_id | study_time |
+---------+-----------+------------+
| 279 | 742 | 96 |
| 114 | 744 | 74 |
| 492 | 680 | 84 |
| 65 | 498 | 46 |
| 141 | 729 | 23 |
| 193 | 729 | 18 |
| 943 | 63 | 98 |
| 437 | 498 | 28 |
| 942 | 742 | 76 |
| 616 | 1 | 7 |
+---------+-----------+------------+
10 rows in set (0.000 sec)
축하합니다! LabEx 데이터베이스를 성공적으로 생성하고 필요한 데이터를 임포트했습니다. 이제 이 데이터베이스를 추가 분석 및 개발에 사용할 수 있습니다.
요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.



