SQLite で CSV データをインポートする

SQLiteCSV データをインポートする方法をご紹介します。
CUIGUI 、どちらもとても簡単にできます。

コマンドライン

対象のテーブルは以下で、データベースファイルは user.sqlite とします。

CREATE TABLE user (user_id, user_name, user_age);


インポート元の CSV データは以下。user.csv とします。
ファイルは UTF-8 で作成しておきます。

1,山田,20
2,佐藤,30
3,鈴木,40


これをインポートするには、まずコマンドラインツールを立ち上げます。
コマンドラインツールは ここ からダウンロードできます。 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 を選択します。

f:id:venturenet:20180601160946p:plain

ウィザードが開くので、 Next ボタンをクリックします。
次の画面で、インポート元 CSV ファイルのパスやファイルの文字エンコーディング方式、セパレータなどを指定します。
セパレータにカンマ以外のものを指定すれば、タブ区切りファイルなどもインポートできるということです。
Finish ボタンをクリックして完了です。

f:id:venturenet:20180601161627p:plain

インポート時には、インポート対象のテーブルは存在していなくてもOKです。
その場合は、インポートのウィザードを開いてインポート先のテーブル名(まだ存在しないテーブル名)を入力すると、そのテーブルを自動的に作成してくれます。
CSV ファイルの1行目にヘッダがあれば、それをカラム名として扱うこともできます。