概要
SQLiteアーカイブファイルにファイルを追加するには「-i」オプションを使用する
実行環境
- Windows 10 64bit
- SQLite3 (3.39.2) Command-Line Shell
コマンドプロンプトやBashでアーカイブにファイルを追加する
C:\temp>rem #1
C:\temp>sqlite3 sample.sqlar -Ac
C:\temp>rem #2.
C:\temp>sqlite3 sample.sqlar -Ai sample.txt
C:\temp>rem #3.
C:\temp>sqlite3 sample.sqlar
SQLite version 3.39.2 2022-07-21 15:24:47
Enter ".help" for usage hints.
sqlite> select * from sqlar;
sample.txt|33206|1660619553|9|teststa
- SQLiteアーカイブを新規作成
- 作成したSQLiteアーカイブにsample.txtを追加
- sample.txtが追加されたことを確認
複数のファイルを一括で追加する場合、ファイルパスを羅列すればいい。
sqlite3 sample.sqlar -Ai sample1.txt sample2.txt sample3.txt
コマンドラインツール起動中にアーカイブにファイルを追加する
sqlite> -- # 1.
sqlite> .archive -cf sample.sqlar
sqlite> -- # 2.
sqlite> .open sample.sqlar
sqlite> -- # 3.
sqlite> .archive -i sample.txt
sqlite> -- # 4.
sqlite> select * from sqlar;
sample.txt|33206|1660619553|9|teststa
- 新規アーカイブファイルの作成
- 作成したアーカイブファイルを開く
- アーカイブにsample.txtを追加する
- sample.txtが追加されたことを確認
データが重複するようにファイルを追加しても何も起こらない
既に登録されているファイルと同じパスを指定してファイルを追加しても アーカイブ内のデータは更新されることはない。 また、エラーも出ないため注意が必要。
sqlite> .mode box
sqlite> select * from sqlar;
┌────────────┬───────┬────────────┬────┬─────────┐
│ name │ mode │ mtime │ sz │ data │
├────────────┼───────┼────────────┼────┼─────────┤
│ sample.txt │ 33206 │ 1660619553 │ 9 │ teststa │
└────────────┴───────┴────────────┴────┴─────────┘
sqlite> .archive -i sample.txt
sqlite> select * from sqlar;
┌────────────┬───────┬────────────┬────┬─────────┐
│ name │ mode │ mtime │ sz │ data │
├────────────┼───────┼────────────┼────┼─────────┤
│ sample.txt │ 33206 │ 1660619553 │ 9 │ teststa │
└────────────┴───────┴────────────┴────┴─────────┘
参考URL
-
Command Line Shell ForSQLite
公式のコマンドラインツールに関するドキュメント
https://www.sqlite.org/cli.html -
SQLite Archive Files
公式のSQLite形式のアーカイブに関するドキュメント
https://sqlite.org/sqlar.html