SQLite | 데이터베이스 (Database) | 데이터베이스 백업 및 삭제

SQLite에서 만든 데이터베이스 파일을 복사하는 방법으로 백업하는 방법, 그리고 데이터베이스를 삭제하는 방법에 대해 설명한다.

데이터베이스 백업

SQLite에서 데이터베이스마다 하나의 파일을 만들고 모든 정보는 파일에 저장된다. 그러므로 특정 데이터베이스를 백업하려면 그 데이터베이스에서 사용하는 파일을 단순히 복사만 할 수 있다.

그럼 실제로 확인해 보자. 현재 myfriend.sqlite3 데이터베이스가 생성되어 있고, 이 데이터베이스에 연결하도록 한다.

$ sqlite3 myfriend.sqlite3
SQLite version 3.19.3 2017-06-27 16:48:08
Enter ".help" for usage hints.
sqlite>

.tables 명령을 실행하여 데이터베이스에 작성되는 테이블을 확인하면 customer이라는 테이블이 작성되어 있다.

$ sqlite3 myfriend.sqlite3
SQLite version 3.19.3 2017-06-27 16:48:08
Enter ".help" for usage hints.
sqlite> .tables
customer
sqlite>

그러면 데이터베이스와의 연결을 끊어보자. 그리고 myfriend.sqlite3 파일을 복사하여 다른 이름 myfriendbackup.sqlite3로 저장한다. 파일 이름은 뭐든지 상관 없다.

$ cp myfriend.sqlite3 myfriendbackup.sqlite3 

이것으로 기존 데이터베이스와 동일한 데이터베이스가 생성되었다. 그럼 백업으로 만들어진 myfriendbackup.sqlite3 데이터베이스에 연결하여 .tables 명령을 실행하여 데이터베이스에 작성되는 테이블 목록을 표시해 보자.

$ sqlite3 myfriendbackup.sqlite3
SQLite version 3.19.3 2017-06-27 16:48:08
Enter ".help" for usage hints.
sqlite> .tables
customer
sqlite>

기존 데이터베이스와 같은 테이블이 생성되어 있는 것을 확인할 수 있다. 간단히 확인 했을뿐지만, 데이터베이스가 복제되는 것을 알 수 있을 것이다. 이렇게 SQLite에서 데이터베이스의 데이터가 포함된 파일을 복사하는 것만으로 백업 할 수 있다.

이 방법뿐 아니라 백업을 수행하는 방법으로는 .backup 명령과 .restore 명령을 사용하는 “백업 및 복구"도 준비되어 있다.

데이터베이스 삭제

SQLite에서 데이터베이스마다 하나의 파일에서 독립적으로 관리하고 있기 때문에 데이터베이스를 삭제하려면 데이터베이스를 저장하고 있는 파일을 삭제한다. SQLite에 뭔가 따로 할 것은 없다.