SQL 을 이용한 데이터베이스 관리

MySQLBeginner
지금 연습하기

소개

이 프로젝트에서는 world 데이터베이스에서 특정 테이블을 삭제하고, 구조는 유지하면서 다른 테이블의 데이터를 비우는 방법을 배우게 됩니다. 이 프로젝트는 데이터베이스 관리 및 SQL 명령어를 이해하는 데 도움이 되도록 설계되었습니다.

👀 미리보기

데이터베이스 테이블 미리보기 이미지

🎯 과제

이 프로젝트에서 다음을 배우게 됩니다:

  • 비밀번호 없이 sudo 명령어를 사용하여 MySQL 에 접속하는 방법
  • SQL 파일을 MySQL 로 가져오는 방법
  • 데이터베이스에서 테이블을 삭제하는 방법
  • 구조를 유지하면서 테이블의 데이터를 비우는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다:

  • 데이터베이스 테이블을 효과적으로 관리할 수 있습니다.
  • 테이블 삭제 및 잘라내기 (truncating) 와 같은 기본적인 SQL 작업을 수행할 수 있습니다.
  • 데이터베이스 유지 관리 및 최적화의 중요성을 이해할 수 있습니다.

MySQL 접속 및 데이터 가져오기

이 단계에서는 비밀번호 없이 sudo 명령어를 사용하여 MySQL 에 접속하고, /home/labex/project/world.sql에서 데이터를 MySQL 로 가져오는 방법을 배우게 됩니다.

  1. MySQL 서비스를 시작합니다:
sudo service mysql start
  1. sudo 명령어를 사용하여 MySQL 에 접속합니다:
sudo mysql
  1. /home/labex/project/world.sql에서 데이터를 MySQL 로 가져오고 world 데이터베이스로 전환합니다:
SOURCE /home/labex/project/world.sql;
✨ 솔루션 확인 및 연습

City 테이블 삭제

이 단계에서는 world 데이터베이스에서 city 테이블을 삭제하는 방법을 배우게 됩니다.

  1. city 테이블을 삭제합니다:
DROP TABLE IF EXISTS city;
✨ 솔루션 확인 및 연습

Countrylanguage 테이블 비우기

이 단계에서는 테이블 구조를 삭제하지 않고 countrylanguage 테이블을 비우는 방법을 배우게 됩니다.

  1. countrylanguage 테이블을 비웁니다:
TRUNCATE TABLE countrylanguage;
✨ 솔루션 확인 및 연습

스크립트 저장

이 마지막 단계에서는 이전 단계에서 생성한 스크립트를 저장합니다.

  1. /home/labex/project 디렉토리에 dropCity.sql이라는 새 파일을 생성합니다.

  2. 다음 코드를 dropCity.sql 파일에 복사합니다:

-- Delete the city table
DROP TABLE IF EXISTS city;

-- Empty the countrylanguage table
TRUNCATE TABLE countrylanguage;
  1. dropCity.sql 스크립트를 실행합니다:
SOURCE /home/labex/project/dropCity.sql;

다음과 같은 출력을 볼 수 있습니다:

MariaDB [world]> SOURCE /home/labex/project/dropCity.sql;
Query OK, 0 rows affected, 1 warning (0.002 sec)

Query OK, 0 rows affected (0.002 sec)

축하합니다! 프로젝트를 성공적으로 완료했습니다. 이제 MySQL 에서 dropCity.sql 스크립트를 실행하여 city 테이블을 삭제하고 countrylanguage 테이블을 비울 수 있습니다.

✨ 솔루션 확인 및 연습

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.