この記事では、SQLiteコマンドラインインターフェイス内からSQLiteデータベースを復元する方法について説明します。
SQLiteCLIからデータベースを復元する方法はいくつかあります。
これを行う1つの方法は、バックアップファイル(またはそのコピー)を使用して新しいデータベースを接続することです。データベースを復元するもう1つの方法は、.restore
を使用することです。 データベースファイルをSQLiteCLI内で選択したデータベースに復元するdotコマンド。
.restoreコマンド
.restore
コマンドは、ファイルからデータベースを復元するために特別に設計されました。使い方はとても簡単です。
次に例を示します:
ATTACH DATABASE 'pets2.db' AS Pets2;
.restore Pets2 bak/pets_backup.db
この場合、ATTACH DATABASE
を使用しました 空のデータベースファイルを作成し、 Pets2という名前で添付するステートメント 。
次に、.restore
を使用しました 既存のバックアップファイルをそのデータベースに復元するコマンド。
この場合、バックアップファイルは bakというサブディレクトリにありました。 。バックアップファイルが別のディレクトリにある場合は、適切なファイルパスを使用する必要があります。
データベースを接続する
バックアップファイルを復元するもう1つの方法は、単に直接添付することです。
したがって、.restore
を実行する代わりに 前の例のコマンドでは、次のようにすることができます。
ATTACH DATABASE 'bak/pets_backup.db' AS Pets2;
ただし、これを行う前に、バックアップファイルのコピーが別の場所にあることを確認する必要があります。添付するファイルの名前も変更するのがおそらく最善です。
この例では、 bak / pets_backup.dbのコピーを取得したほうがよいでしょう。 コピーをデータディレクトリまたは現在のディレクトリに配置し、そのファイルの名前を Pets2.dbに変更します。 またはより適切なものは何でも。
もしそうしたら、次のように添付していたでしょう:
ATTACH DATABASE 'pets2.db' AS Pets2;
.openコマンド
.open
を使用することもできます コマンドを使用して既存のデータベースを閉じ、復元するファイルを開きます。
.open pets2.db
SQLiteに接続するときにバックアップファイルを開く
また、SQLiteに接続するときにそのファイルを直接開くこともできます:
sqlite3 Pets2.db