【コピペOK】SQLite3でダンプ(dump)をリストアする2つの方法

 

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


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

 

★本記事の内容★
① SQLite3でダンプ(dump)をリストア(restore)するための準備を解説
② SQLite3でダンプ(dump)をリストア(restore)する2つの方法を解説



これからご紹介する「【コピペOK】SQLite3でダンプ(dump)をリストアする2つの方法」を実践したことで、筆者は15分以内でSQLite3のダンプ(dump)をリストア(restore)できました。

記事の前半では「そもそもリストア(restore)とは何か?」を簡単に紹介します。
記事の後半では「SQLite3のダンプ(dump)をリストアする2つの方法」を紹介します。

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

★データベースにおける「リストア(restore)」とは何か?★
データ損失が起きた際に複製しておいたデータ(ダンプ)から戻すことを「リストア(restore)」と言います。
ちなみに、SQLiteのメリットとデメリットに関して知りたい方には、以下の記事がオススメです。
>> 【要点】SQLiteとは?を解消!初心者向けに特徴から使い方を解説


 

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

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


 

 


 

SQLite3でダンプ(dump)をリストア(restore)するための準備


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

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



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

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



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

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

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

SQLite3でダンプ(dump)をリストア(restore)するためにも、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)をリストア(restore)するためにも、SQLite3内にテーブルを作成する必要があります。



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



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

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

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

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

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



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



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

手順5:SQLite3で「dump」を用いてデータをバックアップ

『手順5:SQLite3で「dump」を用いてデータをバックアップ』に関して解説します。
 

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



『SQLite3で「dump」を用いてデータをバックアップする手順』に関しては、以下の記事をご覧ください。
 



以上で、『手順5:SQLite3で「dump」を用いてデータをバックアップ』は完了です。
  

上記の流れで、SQLite3でダンプ(dump)をリストア(restore)するための準備ができました。


 

SQLite3でダンプ(dump)をリストア(restore)する2つの方法


『SQLite3でダンプ(dump)をリストア(restore)する2つの方法』に関してご紹介します。

★SQLite3でダンプ(dump)をリストア(restore)する2つの方法★
・インタプリタモードからダンプ(dump)をリストア(restore)する方法
・コマンドラインからダンプ(dump)をリストア(restore)する方法



上記の方法を実施することで、「SQLite3でダンプをリストア」できます。
 

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



以降で、上記「SQLite3でダンプ(dump)をリストア(restore)する2つの方法」の各項目に関してご説明します。
 

インタプリタモードからダンプ(dump)をリストア(restore)する方法

「インタプリタモードからダンプ(dump)をリストア(restore)する方法」に関して解説します。
 

SQLite3のインタプリタモードからダンプをリストアする場合、「readコマンド」を利用します。



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

.read <ダンプのファイルPATH>



上記の構文をもとにして、以下の「read」コマンドを実行し、ダンプをSQLite3にリストアしましょう。

# ↓ ダンプを確認 ↓
$ cat /var/tmp/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;

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

# ↓ SQLite3内に存在するテーブルを確認 ↓
sqlite> .table

# ↓ ダンプをリストア ↓
sqlite> .read /var/tmp/dump.txt

# ↓ SQLite3内に存在するテーブルを確認 ↓
sqlite> .table
meibo

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

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



コマンド実行後、「ダンプに記載されたテーブルとデータがSQLite3内に登録された」場合、「正常にインタプリタモードからダンプをリストアできた」と判断できます。
 

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



以上が、「インタプリタモードからダンプ(dump)をリストア(restore)する方法」となります。
 

コマンドラインからダンプ(dump)をリストア(restore)する方法

「コマンドラインからダンプ(dump)をリストア(restore)する方法」に関して解説します。
 

コマンドラインからダンプをSQLite3へリストアする場合、「echoコマンド」を利用します。



コマンドラインからダンプをリストアする場合の「echoを用いたリストア」の「構文」は、以下となります。

sqlite3 <SQLite3のファイルPATH> < <ダンプのファイルPATH>



上記の構文をもとにして、以下の「echoを用いたリストア」を実行し、ダンプをSQLite3にリストアしましょう。

# ↓ ダンプを確認 ↓
$ cat /var/tmp/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;

# ↓ ダンプをリストア ↓
$ sqlite3 testdb.sqlite3 < /var/tmp/dump.txt

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

# ↓ SQLite3内に存在するテーブルを確認 ↓
sqlite> .table

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

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



コマンド実行後、「ダンプに記載されたテーブルとデータがSQLite3内に登録された」場合、「正常にコマンドラインからダンプをリストアできた」と判断できます。
 

上記2つのリストア方法を実施することで、「SQLite3でダンプをリストア」することができました。


 

【まとめ】SQLite3でダンプ(dump)をリストアする2つの方法【コピペOK】


いかがでしたでしょうか?「readコマンド、または、echoコマンドを実行して、SQLiteにダンプをリストアする方法」を解説し、以下の悩みを解決しました。
 

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



ぜひあなたも本記事を参考に「SQLite3でダンプをリストア」を実践してください。


 

 


 

コメント