★悩み★
・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でダンプをリストア」を実践してください。
コメント