제로베이스 데이터 파트타임 스쿨 학습 일지 [25.06.01]
[강의 요약]
[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일반 강의 자료 일부를 발췌하여 작성되었습니다.”