SQL file

👀 sql file을 만들 때마다 저장하게 될 root 폴더 (sql_ws) 만들기

커맨드 창


# document로 가기
cd documents

# sql workspace 폴더 만들기
mkdir sql_ws

# sql_ws로 가기
cd sql_ws

# vscode 에서 열기
code .

✍️ SQL 파일 = sql 쿼리를 모아놓은 파일

  • 파일 안에 실행할 여러 sql 쿼리들을 한 번에 실행할 수 있음
  • db 또는 table을 백업하고 restore 하는 데 이용할 수 있음.

SQL File 실행

1) 로그인 이후에 실행하기 (커맨드창)

mysql source </path/filename.sql>

# source 대신에 \. 사용 가능
mysql \. </path/filename.sql> 

# 현재 폴더에 파일이 있으면 path 생략 가능 
mysql \. <filename.sql>         
  • vs code에서 test01.sql 파일을 만들고 police_station이라는 테이블을 만드는 쿼리를 작성 + 저장

  • 다음으로 커맨드 창에서 mysql 접속 > zerobase db 사용

mysql -u root -p zerobase 
  • zerobase에서 police_station 만드는 쿼리 실행 + 생성
mysql source test01.sql

2) mysql 접속하지 않고 외부에서 sql 파일 실행하기

# 기본구조

mysql -u username -p database < filename.sql

🚨 '<' 추가!!
🚨 mysql

예제)

  • test02.sql 파일을 vscode에서 만들고 crime_status 테이블 생성하는 쿼리 작성

  • 커맨드창에서 mysql 접속하지 않고 파일 실행하기

mysql -u root -p zerobase < test02.sql
  • 테이블 잘 생성되었는지 확인하기
# mysql 접속하기
mysql -u root -p zerobase

# 테이블 확인
desc crime_status;

DB 백업하기

기본 구조

# 특정 database backup
mysqldump -u username -p backup.sql

# 모든 database backup
mysqldump -u username -p --all-databases > backup.sql

🚨 '>' 기호 반대!!
🚨 mysqldump

예제)

  • sql_ws 디렉토리에서 백업해주기
mysqldump -u root - p zerobase > zeobase.sql

👀 zerobase에 있는 데이터베이스 내용을 '>' zerobase.sql 파일에 저장

DB Restore

데이터베이스를 백업한 sql file을 실행해 백업한 그 시점으로 복구하거나 이전하거나 복사해서 옮길 수 있음.

✍️ 이미 동일한 db 내용 있으면 유지, 없으면 복구 & 이전

1. AWS RDS로 접속하기

mysql -h "address.amazonaws.com" -P 0000 -u root -p

2. db 복원해주기

  • zerobase db로 이동
mysql> use zerobase;
  • 조금 전에 백업한 zerobase.sql 파일 실행해주기
mysql> source zerobase.sql
  • 로컬에서 작업을 했던 zerobase 내용들 (테이블 등 데이터...)이 remote에 있는 zerobase에 있는 곳으로 옮겨진 것을 확인 가능!

Table 백업

👀 테이블 단위로도 백업 가능 (테이블 이름)

mysqldump -u username -p dbname tablename > backup.sql

Table restore

테이블 백업한 sql file 실행하여 해당 테이블 복구 or 이전하기

mysql> source zerobase.sql

Table Schema backup

데이터를 제외하고 테이블 생성 쿼리만 백업하는 방법

# 특정 Table Schema Backup

mysqldump -d -u username -p dbname tablename > backup.sql

# 모든 Table Schema Backup

mysqldump -d -u username -p dbname > backup.sql

🚨 '-d' 옵션이 붙어 있음!

0개의 댓글

Powered by GraphCDN, the GraphQL CDN