【最短5分】SQLite3をdumpコマンドでバックアップする方法

 

★悩み★
・SQLite3において、dump(ダンプ)を実施することって可能なの?
・そもそもデータベースにおける「dump(ダンプ)」って何?
・dump(ダンプ)でSQLite3のバックアップを作成する方法を知りたい。


こういった「悩み」に答えます。

 

★本記事の内容★
① データベースにおける「dump(ダンプ)」とは何か?を解説
② SQLite3をdump(ダンプ)でバックアップするための準備を解説
③ SQLite3で「dump」を用いてデータをバックアップする方法を解説



これからご紹介する「【最短5分】SQLite3をdumpコマンドでバックアップする方法」を実践したことで、筆者は30分以内でSQLite3のデータをdump(ダンプ)できました。
 

記事の前半では「そもそもdump(ダンプ)とは何か?」を紹介します。
記事の後半では「dumpコマンドを使って、SQLite3のデータをバックアップする2つの方法」を紹介します。
 

この記事を読み終えることで、「SQLite3のデータをdump(ダンプ)でバックアップする方法」を把握できるだけでなく、「dumpコマンドの使い方」も把握した状態になります。
 

★SQLite3とは★
SQLiteは、「小型」/「高速」/「自己充足的」/「高信頼性」なSQLデータベースエンジンを実装したC言語ライブラリです。
ちなみに、SQLiteのメリットとデメリットに関して知りたい方には、以下の記事がオススメです。
>> 【要点】SQLiteとは?を解消!初心者向けに特徴から使い方を解説


  

ちなみに、筆者が約2週間でSQLite3を学んだ方法や手順について以下で公開しています。皆様の学習の参考になれば嬉しいです。

>> SQLite3に0から入門し基本操作を習得するまでのロードマップ


 

 


 

データベースにおける「dump(ダンプ)」とは何か?


『データベースにおける「dump(ダンプ)」とは何か?』に関して解説します。
 

本章では、「dump(ダンプ)の定義って何?」や「dump(ダンプ)の具体例」を記載しますね。



データベースにおける「dump(ダンプ)」は、一般的に以下のように定義されています。
 

★データベースにおけるdump(ダンプ)の定義★
データベースにおいては、データベースの情報をファイルに書き出して保存することダンプと呼ぶ。これはデータベース移行の際に利用される。
引用元:ダンプとは?



データベースのdump(ダンプ)の例として、「SQLite3のdump(ダンプ)」の中身を以下に掲載します。
 



データベースのdump(ダンプ)には、「テーブルを作成するSQL」や「データを登録するSQL」などが記載されています。
 

以上が、『データベースにおける「dump(ダンプ)」とは何か?』となります。
 

SQLite3でdump(ダンプ)を作成したい場合、以降でご紹介する「dumpコマンド」の実行を検討しましょう。

 

SQLite3をdump(ダンプ)でバックアップするための準備


「SQLite3をdump(ダンプ)でバックアップするための準備」に関してご紹介します。

★SQLite3をdump(ダンプ)でバックアップするための準備の流れ★
手順1:SQLite3をインストール
手順2:インストールしたSQLite3の動作確認
手順3:SQLite3内にテーブルを作成
手順4:SQLite3内にデータを追加(データ登録)



上記手順を実施することで、「SQLite3をdump(ダンプ)でバックアップするための準備」ができます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2022年2月16日
動作確認済み環境:Ubuntu 20.04.3 LTS



以降で、上記「SQLite3をdump(ダンプ)でバックアップするための準備の流れ」の各手順に関してご説明します。
 

手順1:SQLite3をインストール

「手順1:SQLite3をインストール」に関して解説します。
 

SQLite3をdump(ダンプ)でバックアップするためにも、SQLite3をインストールしましょう。



「SQLite3をインストールする手順」に関しては、お使いのパソコンごとに以下の記事を参照しインストールしましょう。

>>【コピペOK】SQLite3をインストールする手順【Linux向け】

>>【コピペOK】SQLite3をインストールする手順【Ubuntu向け】

>>【最短5分】SQLiteをWindowsへインストールする方法(6枚で図解)

>>【コピペOK】SQLite3をインストールする手順【MacOS向け】



以上で、「手順1:SQLite3をインストール」は完了です。
 

手順2:インストールしたSQLite3の動作確認

「手順2:インストールしたSQLite3の動作確認」に関して解説します。
 

動作確認として、インストールしたSQLite3に接続できることを確認しましょう。



「SQLite3に接続する方法」に関しては、以下の記事「SQLite3へ接続する方法」の箇所をご覧ください。
 



以上で、「手順2:インストールしたSQLite3の動作確認」は完了です。
 

手順3:SQLite3内にテーブルを作成

「手順3:SQLite3内にテーブルを作成」に関して解説します。
 

SQLite3をdump(ダンプ)でバックアップするためにも、SQLite3内にテーブルを作成する必要があります。



「SQLite3内にテーブルを作成」に関しては、以下の記事をご覧ください。
 



以上で、「手順3:SQLite3内にテーブルを作成」は完了です。
 

以降の手順では、上記の記事で作成した「meibo」テーブルを想定として、手順を解説します。
 

手順4:SQLite3内にデータを追加(データ登録)

「手順4:SQLite3内にデータを追加(データ登録)」に関して解説します。
 

SQLite3をdump(ダンプ)でバックアップするために、バックアップ対象となるデータをSQLite3に追加しましょう。



「SQLite3内にデータを追加(データ登録)する手順」に関しては、以下の記事をご覧ください。
 



以上で、「手順4:SQLite3内にデータを追加(データ登録)」は完了です。
 

上記の流れで、SQLite3をdump(ダンプ)でバックアップするための準備ができました。


 

SQLite3で「dump」を用いてデータをバックアップする方法


『SQLite3で「dump」を用いてデータをバックアップする方法』に関してご紹介します。

★SQLite3で「dump」を用いてデータをバックアップする方法★
・インタプリタモードからSQLite3をdump(ダンプ)でバックアップする方法
・コマンドラインからSQLite3をdump(ダンプ)でバックアップする方法



上記の方法を実施することで、「SQLite3で「dump」を用いてデータをバックアップ」できます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2022年2月16日
動作確認済み環境:Ubuntu 20.04.3 LTS



以降で、上記『SQLite3で「dump」を用いてデータをバックアップする方法』の各項目に関してご説明します。
 

インタプリタモードからSQLite3をdump(ダンプ)でバックアップする方法

「インタプリタモードからSQLite3をdump(ダンプ)でバックアップする方法」に関して解説します。
 

SQLite3のインタプリタモードからdump(ダンプ)する場合、「outputコマンド」「dumpコマンド」を利用します。



SQLite3のインタプリタモードからdump(ダンプ)する場合の「output」と「dump」の「構文」は、以下となります。

【outputコマンドの構文】
 .output <出力先のファイルPATH>

【dumpの構文】
全てのテーブルをdump(ダンプ)したい場合: .dump
特定のテーブルのみをdump(ダンプ)したい場合:.dump <テーブル名>



上記の構文をもとにして、以下の「output」と「dump」コマンドを実行し、SQLite3内のデータをdump(ダンプ)でバックアップしましょう。

# ↓ SQLite3に接続 ↓
$ sqlite3 testdb.sqlite3 
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.

# ↓ SQLite3内に存在するテーブルの定義を確認 ↓
sqlite> .schema
CREATE TABLE meibo (id integer, name text);

# ↓ データ確認 ↓
sqlite> select * from meibo;
1|hero
2|tom

# ↓ 出力先ファイルを指定 ↓
sqlite> .output ./dump.txt

# ↓ SQLite3内の全データをdump(ダンプ) ↓
sqlite> .dump

# ↓ SQLite3から切断 ↓
sqlite> .exit

# ↓ 出力されたdump(ダンプ)ファイルの中身を確認 ↓
$ cat dump.txt 
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE meibo(id, name);
INSERT INTO meibo VALUES(1,'hero');
INSERT INTO meibo VALUES(2,'tom');
COMMIT;
$



コマンド実行後、「dump(ダンプ)ファイルが作成された」場合、「正常にインタプリタモードからSQLite3のデータをdump(ダンプ)でバックアップできた」と判断できます。
 

★dumpコマンドのリファレンス★
dumpコマンドのリファレンスは、以下に公開されています。
参照:dumpコマンドのリファレンス(公式サイト)



以上が、「インタプリタモードからSQLite3をdump(ダンプ)でバックアップする方法」となります。
 

コマンドラインからSQLite3をdump(ダンプ)でバックアップする方法

「コマンドラインからSQLite3をdump(ダンプ)でバックアップする方法」に関して解説します。
 

コマンドラインからdump(ダンプ)する場合、「echoコマンド」「dumpコマンド」を利用します。



コマンドラインからdump(ダンプ)する場合の「echo」と「dump」の「構文」は、以下となります。

【SQLite3内のデータ全てをdump(ダンプ)したい場合】
echo '.dump' | sqlite3 <SQLite3のファイル> > <出力先のファイルPATH>

【SQLite3内の特定テーブルをdump(ダンプ)したい場合】
echo '.dump <テーブル名>' | sqlite3 <SQLite3のファイル> > <出力先のファイルPATH>



上記の構文をもとにして、以下の「echo」と「dump」コマンドを実行し、SQLite3内の特定テーブルをdump(ダンプ)でバックアップしましょう。

# ↓ SQLite3内の特定テーブルをdump(ダンプ) ↓
$ echo '.dump meibo' | sqlite3 testdb.sqlite > echo_dump.txt

# ↓ 出力されたdump(ダンプ)ファイルの中身を確認 ↓
$ cat echo_dump.txt 
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE meibo(id, name);
INSERT INTO meibo VALUES(1,'hero');
INSERT INTO meibo VALUES(2,'tom');
COMMIT;
$ 



コマンド実行後、「dump(ダンプ)ファイルが作成された」場合、「正常にコマンドラインからSQLite3のデータをdump(ダンプ)でバックアップできた」と判断できます。
 

以上が、「コマンドラインからSQLite3をdump(ダンプ)でバックアップする方法」となります。
 

上記2つのdumpコマンドを実行することで、『SQLite3で「dump」を用いてデータをバックアップ』することができました。


 

【まとめ】SQLite3をdumpコマンドでバックアップする方法【最短5分】


いかがでしたでしょうか?「dumpコマンドを実行して、SQLiteのデータをdump(ダンプ)でバックアップする2つの方法」を解説し、以下の悩みを解決しました。
 

★悩み★
・SQLite3において、dump(ダンプ)を実施することって可能なの?
・そもそもデータベースにおける「dump(ダンプ)」って何?
・dump(ダンプ)でSQLite3のバックアップを作成する方法を知りたい。



ぜひあなたも本記事を参考に「SQLite3をdumpでバックアップ」を実践してください。


 

 


 

コメント