sqlite3 でDBで作成したテーブルで、データをコピー(複製)をとる必要があり、対処方法をまとめました。
同一DB内での操作、別DBのテーブルをコピーするときの対処方法になります。
●同一DB内で、AテーブルからBテーブルにコピー(データレイアウトは同じ)したいとき
1.複製先テーブルを作成します。
DB Browser(sqlite3用DBツール)で操作。
参照元のテーブル情報より、create tableのSQL文をコピー、テーブル名を変更して実行します。
2.Aテーブルのデータを抽出して、取り込みます。
insert into btable select * from atable
●2つのDBで、AテーブルからBテーブルにコピー(データレイアウトは同じ)したいとき
1.Aテーブル(参照元)のデータをCSVファイルに出力します。
Macのターミナルで操作。
% cd /Users/aaaa/Desktop/data/ % sqlite3 xxxx.db
sqlite> .mode csv sqlite> .once /Users/aaaa/Desktop/data/btable.csv sqlite> select * from atable;
btable.csvにCSVデータが出力されます。
2.複製先テーブルを作成します。
上記記載を参照。
3.CSVデータをimportします。
参考記事:sqlite3のDBにCSVファイルをインポートする方法