他のDBからcsvファイルとして抽出したデータをローカルのDBにインポートしてみる。
csvファイルは事前に整形しておく。
現在の設定を確認
.show
で区切り文字を確認する。
sqlite> .show
echo: off
eqp: off
explain: off
headers: off
mode: list
nullvalue: ""
output: stdout
separator: "|"
stats: off
width:
sqlite>
separatorが現在の区切り文字。上記では|
となっている。
区切り文字の変更
csvは,
区切りなので、.separator ,
で区切り文字を変更する。
sqlite> .separator ,
sqlite> .show
echo: off
eqp: off
explain: off
headers: off
mode: list
nullvalue: ""
output: stdout
separator: ","
stats: off
width:
sqlite>
separatorが|
から,
に変更された。
csvファイルのimport
インポートは.import csvファイ名 テーブル名
でインポート
sqlite> .import sample.csv TEST_TABLE
おまけ
何度もimportとdrop/createを繰り返して試していたら、ファイルサイズが大きくなっていた。
どうやらdoropやdeleteでテーブルやレコードを削除しても、ファイルサイズすぐに減らず、コマンドで空き領域を開放する必要がある。
空き領域を開放するには、vacuum;
を実行
sqlite> vacuum;