제로베이스 데이터 취업 파트타임/100일 챌린지_일일 학습 일지

제로베이스 데이터 파트타임 스쿨 학습 일지 [25.06.01]

김뚱입니다 2025. 6. 1. 21:46

[강의 요약]

[Part 05. SQL_ Ch 12. SQL File] 강의 수강

챕터 12 클립 전체 수강하였음

🐢 100일 챌린지 🔥 : [▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰░                                 ] 77/100일 (77%)

 

 

 

[SQL File]

▶실습 환경

  • 폴더 생성
    • VSCode에서 실습용 폴더 생성: sql_ws
    • 모든 SQL 파일은 이 폴더 내에서 작성 및 실행

 

  • SQL 파일 생성
    • VSCode에서 sql_ws 폴더를 열자
    • 새 파일 생성 → 이름을 example.sql처럼 .sql 확장자로 저장
    • 이제 이 파일에서 SQL 문장을 작성하면 된다

 

 

▶ SQL File이란?

SQL File은 여러 개의 SQL 쿼리를 하나의 파일에 정리한 것

CREATE TABLE police_station (...);
INSERT INTO police_station VALUES (...);
SELECT * FROM police_station;

이 파일을 한 번에 실행함으로써 여러 작업을 자동화할 수 있다.

 

 

▶ SQL 파일 실행하기

방법 1) 로그인 후 수동 실행

1. MySQL 클라이언트 접속

mysql -u root -p

 

2. 데이터베이스 선택

USE zerobase;

 

3. SQL 파일 실행

SOURCE police.sql;

 

 

방법 2) 외부에서 바로 실행

1. MySQL 접속 없이 커맨드로 한 줄 실행

mysql -u root -p zerobase < police.sql
  • zerobase : 사용할 DB명
  • < police.sql : 해당 파일의 쿼리를 실행

이 방법은 자동화 스크립트에 자주 사용된다.

 

 

실습 예제

예제 1) 경찰서 테이블 생성

CREATE TABLE police_station (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255),
    address VARCHAR(255)
);

 

예제 2) 외부 파일 실행으로 서울시 경찰서 테이블 생성

mysql -u root -p zerobase < seoul_crime.sql

 

 

Database Backup

SQL 파일을 이용하면 전체 데이터베이스를 백업할 수 있다.

 

*백업 명령어

mysqldump -u root -p zerobase > zerobase.sql
  • zerobase : 백업할 데이터베이스 이름
  • zerobase.sql : 저장할 SQL 파일

해당 파일에는 모든 테이블, 데이터, 스키마 정보가 포함된다.

 

 

Database Restore

SQL 파일을 실행하면 백업된 상태로 복구가 가능하다.

 

*복원 방법

mysql -u root -p zerobase < zerobase.sql

tmi : AWS RDS에서도 동일한 방법으로 복원이 가능함

 

 

Table 단위 백업

특정 테이블만 백업하고 싶다면 어떻게 하면 될까?

 

*테이블만 백업

mysqldump -u root -p zerobase celeb > celeb.sql
  • celeb: 백업 대상 테이블

 

*테이블 복원

mysql -u root -p zerobase < celeb.sql

 

 

Table Schema만 백업 (데이터 X)

스키마만 백업하고 데이터는 제외하고 싶다면 어떻게 하면 될까?

 

*명령어

mysqldump -u root -p --no-data zerobase snl_show > snl.sql
  • --no-data : 데이터 제외
  • snl_show : 테이블 이름

이렇게 하면 테이블 생성 문장만 저장된다.

 

그리고 실습과제는 내가 알잘딱으로 해치웠음

그것까지 정리할 힘이 없다...

 

 

명령어 요약

목적 명령어 예시
SQL 실행 SOURCE file.sql
SQL 파일 바로 실행 mysql -u root -p DB명 < file.sql
DB 백업 mysqldump -u root -p DB명 > backup.sql
DB 복원 mysql -u root -p DB명 < backup.sql
테이블 백업 mysqldump -u root -p DB명 테이블명 > file.sql
스키마만 백업 mysqldump -u root -p --no-data DB 테이블 > schema.sql

 

 

 

[나의 생각 정리]

SQL File은 데이터베이스의 백업, 복원, 자동화 실행, 테이블 관리에 유용한 도구다.

실무에서는 수동 입력보다 파일 기반 관리가 기본이므로, SQL File 사용 방법을 익혀두면 좋을 것 같다.

 

 

[적용점]

실무에서의 파일 기반 관리에 사용

 

 

“이 글은 제로베이스 데이터 스쿨 주 3일반 강의 자료 일부를 발췌하여 작성되었습니다.”