sqlite3 のDBにCSVファイルをインポートする方法です。
以下の説明は、CSVファイルがあり、DB、tableが無い状態での記載です。
操作手順
1.データのCSVファイルを作成します。
項目は、「NO、日付、メモ」となっています。
以下は、サンプルデータです。先頭行の見出し項目は、ここでは不要。(見出し項目が面倒!)
ーーCSVデーターーー ファイル名:data_xx.csv
1,20170701,AAA
2,20170702,BBB
3,20170703,CCC
4,20170704,DDD
5,20170705,EEE
ーーーーーーーーーー
2.以下は、Macを使用した操作になります。
ターミナルを開いて、作業を行うフォルダ(カレントフォルダ)に移動します。
ターミナル画面で以下のコマンドを入力します。
デスクトップのフォルダ「sqlite3_xx」を使用する場合
$cd /users/******/Desktop/sqlite3_xx
作業を行うフォルダのフォルダをドラッグしてターミナル画面にドロップすることも可能です。
3.sqlite起動時にDB名を指定します。一般的な名称は「XXXXXXXX.db」で存在していなくてもOKです。
DB名:data123.dbを使用する場合
$sqlite3 data123.db
ーーーーーーーーーーーーー
2019.04.13追記(注意事項)
HP表記上、文字列の先頭が大文字で表示されますが、コマンド発行時小文字でないとエラーになります。
Sqlite3 .Separator .Import など
ーーーーーーーーーーーーー
4.作成するテーブル名とテーブルの項目名を指定します。
DB名:data123.db
テーブル名:table234 項目(No,Date,Note)
csvファイルをインポートする処理
sqlite3>create table table234(No,Date,Note);① sqlite3>.separator ,② sqlite3>.import /users/******/Desktop/sqlite3_xx/data_xx.csv table234 ③ sqlite3>.exit ④
①テーブル、項目を定義してテーブルを作成します。
②インポートデータの項目区切り文字(カンマ)を指定します。ドット(.)も必要です!
③インポート処理を行います。INPUTファイルは、フォルダをつまんでドラッグ&ドロップが可能です。
④エラーが出ていなければ、ターミナルを終了します。
8.GUIツールで、sqlite3のデータを確認します。
GUIツールの操作は、割愛しています。
ポイント
・csvファイルの項目名とテーブルの項目数が不一致のときはインポートできません。
・テーブルの各種設定(属性変更、キー部設定、Null、自動ナンバーリングなど)は、GUIツールでも対応可能です。未設定の場合、テキスト形式で作成されます。