SQLite で CSV データをインポートする方法をご紹介します。
CUI と GUI 、どちらもとても簡単にできます。
コマンドライン
対象のテーブルは以下で、データベースファイルは user.sqlite とします。
CREATE TABLE user (user_id, user_name, user_age);
インポート元の CSV データは以下。user.csv とします。
ファイルは UTF-8 で作成しておきます。
1,山田,20 2,佐藤,30 3,鈴木,40
これをインポートするには、まずコマンドラインツールを立ち上げます。
コマンドラインツールは [https://www.sqlite.org/download.html:title=ここ] からダウンロードできます。
Window の場合は sqlite-tools-~ で始まるものをダウンロードします。
> sqlite3 user.sqlite
次にモードを CSV にします。
sqlite> .mode csv
あとはインポートするだけです。
sqlite> .import user.csv user
GUI (SQLiteStudio)
次は SQLiteStudio での例です。対象のデータベース、CSV データは同じものを使います。
SQLiteStudio を起動して user.sqlite を開いたら、user テーブルを右クリックして Import into the table を選択します。
ウィザードが開くので、 Next ボタンをクリックします。
次の画面で、インポート元 CSV ファイルのパスやファイルの文字エンコーディング方式、セパレータなどを指定します。
セパレータにカンマ以外のものを指定すれば、タブ区切りファイルなどもインポートできるということです。
Finish ボタンをクリックして完了です。
インポート時には、インポート対象のテーブルは存在していなくてもOKです。
その場合は、インポートのウィザードを開いてインポート先のテーブル名(まだ存在しないテーブル名)を入力すると、そのテーブルを自動的に作成してくれます。
CSV ファイルの1行目にヘッダがあれば、それをカラム名として扱うこともできます。