[TIL]SQL File(생성/실행 및 백업)

썹스·2024년 2월 10일

SQL

목록 보기
8/17

📌 SQL File

SQL작업에 필요한 폴더를 생성할 때 Finder(내컴퓨터)에서 직접 생성할 수 있지만, 터미널에서 명령문을 사용하여 SQL 폴더를 생성하여 사용할 수 있다.

  • 문서 폴더에 sql_ws폴더 생성
~ % cd documens    //문서 폴더로 이동

documens % mkdir sql_ws   //sql_ws 폴더 생성

documens % cd sql_ws      //문서 하위 폴더인 sql_ws 폴더로 이동
  • sql_ws 폴더에서 VSCode 실행
    • 터미널에서 아래 명령문을 실행했지만 VSCode가 실행하지 않는다면, VSCode에서
      Shell Command: Install ‘code’ command in PATH 을 설치
      해야 한다.
sql_ws % sql_ws % code .
  • MySQL에서 새로 만든 sql_ws 폴더 접속
% cd sql_ws                   //sql_ws 폴더로 이동
sql_ws % mysql -u root -p     //sql_ws 폴더 위치에서 MySQL 실행
  • 터미널에서 SQL파일 실행
    • 외부에서 만들어진 SQL파일을 실행하기 위해서는 해당 SQL파일 경로와 SQL파일 이름을 알아야 한다.
mysql source /경로/SQL파일이름.sql
mysql \. /경로/SQL파일이름.sql       //source 대신 \. 사용가능
mysql SQL파일이름.sql               //현재 폴더에 파일이 있다면 경로 생략 가능

📌 Database Backup

데이터베이스 SQL 파일을 백업할 때는 mysqldump 명령어를 사용한다.

  • 데이터베이스 백업 문법
    • 참고로 작업할 폴더는 문서(Document)의 하위 폴더인 sql_ws이다.
// 특정 데이터베이스 백업
sql_ws % mysqldump -u <사용자이름> -p <백업할 DB이름> > <저장할 파일.SQL>


// 모든 데이터베이스 백업
sql_ws % mysqldump -u <사용자이름> -p --all-databases > <저장할 파일.sql>


// 사용자 이름이 "root"이고 백업할 DB이름이 "testDB"이며, 백업 저장 파일 이름이 backUP.sql인 경우
sql_ws % mysqldump -u root -p testDB > backUP.sql
  • 백업 파일 생성 후 백업 파일 실행(데이터베이스 복원)
mysql>  source backUP.sql

✅ Database Table Backup

데이터베이스 전체가 아닌 특정 테이블만 백업할 수도 있다.

  • 특정 테이블만 백업하는 문법
    • 참고로 작업할 폴더는 문서(Document)의 하위 폴더인 sql_ws이다.
// 특정 데이터베이스 테이블 백업
sql_ws % mysqldump -u <사용자이름> -p <백업할 테이블이 있는 DB이름> <백업할 테이블명> > <저장할 파일.SQL>


// 사용자 이름이 "root"이고 백업할 테이블이 있는 DB이름이 "testDB"이며, 백업할 테이블 이름은 tableBK 마지막으로 테이블 백업 저장 파일 이름이 backUP.sql인 경우
sql_ws % mysqldump -u root -p testDB tableBK > backUP.sql
  • 테이블 백업 파일 생성 후 백업 파일 실행(테이블 복원)
mysql>  source backUP.sql

✅ DataBase Table Schema Backup

테이블 구조만 백업할 수 있다. (테이블 내부 데이터는 백업 X)
테이블 구조인 스키마만을 백업할 때는 -d 옵션을 추가하여 명령문을 작성한다.

  • 특정 테이블 구조만 백업하는 문법
    • 참고로 작업할 폴더는 문서(Document)의 하위 폴더인 sql_ws이다.
// 특정 테이블 구조만 백업
sql_ws % mysqldump -d -u <사용자이름> -p <백업할 DB이름> <백업할 테이블명> > <저장할 파일.SQL>


// 모든 테이블 구조를 백업
sql_ws % mysqldump -d -u <사용자이름> -p --all-databases > <저장할 파일.sql>
profile
코린이

0개의 댓글