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