【最短1分】SQLite3でCSVをインポート(import)する2つの方法

【最短1分】SQLite3でCSVをインポート(import)する2つの方法

 

★悩み★
・SQLite3でCSVファイルを読み込み、テーブルにインポートってできる?
・CSVファイルにヘッダーがあるが、SQLite3にインポート(import)できる?
・SQLite3でCSVファイルをインポート(import)する方法を知りたい。


こういった「悩み」に答えます。

 

★本記事の内容★
① SQLite3でCSVをインポート(import)するための準備を解説
② SQLite3で「import」を用いてCSVファイルをインポートする方法を解説



これからご紹介する「【最短1分】SQLite3でCSVをインポート(import)する2つの方法」を実践したことで、筆者は30分以内でSQLite3のテーブルにインポート(取り込み)できました。

記事の前半では「SQLite3でCSVをインポート(import)するための準備」をコマンドベースで紹介します。
記事の後半では「importコマンドを使って、SQLite3にCSVファイルをインポート(取り込み)する方法」を紹介します。

この記事を読み終えることで、「SQLite3でCSVファイルをインポート(取り込み)する方法」を把握できるだけでなく、「importコマンドの使い方」も把握した状態になります。
 

★SQLite3とは★
SQLiteは、「小型」/「高速」/「自己充足的」/「高信頼性」なSQLデータベースエンジンを実装したC言語ライブラリです。
ちなみに、SQLiteのメリットとデメリットに関して知りたい方には、以下の記事がオススメです。
>> 【要点】SQLiteとは?を解消!初心者向けに特徴から使い方を解説


  

ちなみに、筆者が約2週間でSQLite3を学んだ方法や手順について以下で公開しています。皆様の学習の参考になれば嬉しいです。

>> SQLite3に0から入門し基本操作を習得するまでのロードマップ


 

 


 

SQLite3でCSVをインポート(import)するための準備

SQLite3でCSVをインポート(import)するための準備


「SQLite3でCSVをインポート(import)するための準備」に関してご紹介します。

★SQLite3でCSVをインポート(import)するための準備の流れ★
手順1:SQLite3をインストール
手順2:インストールしたSQLite3の動作確認
手順3:SQLite3内にテーブルを作成
手順4:SQLite3内にインポート(取り込み)したいCSVファイルを作成



上記手順を実施することで、「SQLite3でCSVをインポート(import)するための準備」ができます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2022年1月31日
動作確認済み環境:Ubuntu 20.04.3 LTS



以降で、上記「SQLite3でCSVをインポート(import)するための準備の流れ」の各手順に関してご説明します。
 

手順1:SQLite3をインストール

「手順1:SQLite3をインストール」に関して解説します。
 

SQLite3内にCSVファイルをインポート(取り込む)するためにも、SQLite3をインストールしましょう。



「SQLite3をインストールする手順」に関しては、お使いのパソコンごとに以下の記事を参照しインストールしましょう。

>>【コピペOK】SQLite3をインストールする手順【Linux向け】

>>【コピペOK】SQLite3をインストールする手順【Ubuntu向け】

>>【最短5分】SQLiteをWindowsへインストールする方法(6枚で図解)

>>【コピペOK】SQLite3をインストールする手順【MacOS向け】



以上で、「手順1:SQLite3をインストール」は完了です。
 

手順2:インストールしたSQLite3の動作確認

「手順2:インストールしたSQLite3の動作確認」に関して解説します。
 

動作確認として、インストールしたSQLite3に接続できることを確認しましょう。



「SQLite3に接続する方法」に関しては、以下の記事「SQLite3へ接続する方法」の箇所をご覧ください。
 



以上で、「手順2:インストールしたSQLite3の動作確認」は完了です。
 

手順3:SQLite3内にテーブルを作成

「手順3:SQLite3内にテーブルを作成」に関して解説します。
 

SQLite3にCSVファイルをインポート(取り込み)するために、SQLite3内にテーブルを作成しましょう。



「SQLite3内にテーブルを作成」に関しては、以下の記事をご覧ください。
 



以上で、「手順3:SQLite3内にテーブルを作成」は完了です。
 

以降の手順では、上記の記事で作成した「meibo」テーブルを想定として、手順を解説します。
 

手順4:SQLite3内にインポート(取り込み)したいCSVファイルを作成

「手順4:SQLite3内にインポート(取り込み)したいCSVファイルを作成」に関して解説します。
 

SQLite3内にインポート(取り込み)したいCSVファイルを作成しましょう。



以下のCSVファイルを作成しましょう。
 

【ヘッダー(header)なし】

1,"hero"
2,tom
3,"bob"



上記CSVを「test-data-without-header.csv」として、ファイルに保存してください。



【ヘッダー(header)あり】

id,name
1,"hero"
2,tom
3,"bob"



上記CSVを「test-data-with-header.csv」として、ファイルに保存してください。
 

以上で、「手順4:SQLite3内にインポート(取り込み)したいCSVファイルを作成」は完了です。
 

上記の流れで、SQLite3でCSVをインポート(import)するための準備ができました。


 

SQLite3で「import」を用いてCSVファイルをインポートする方法

SQLite3で「import」を用いてCSVファイルをインポートする方法


『SQLite3で「import」を用いてCSVファイルをインポートする方法』に関してご紹介します。

★SQLite3で「import」を用いてCSVファイルをインポートする方法★
・SQLite3にCSVファイル(ヘッダーなし)をインポート(取り込み)する方法
・SQLite3にCSVファイル(ヘッダーあり)をインポート(取り込み)する方法



上記の方法を実施することで、「SQLite3内にCSVファイルをインポート(取り込み)」できます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2022年1月31日
動作確認済み環境:Ubuntu 20.04.3 LTS



以降で、上記「SQLite3で「import」を用いてCSVファイルをインポートする方法」の各項目に関してご説明します。
 

SQLite3にCSVファイル(ヘッダーなし)をインポート(取り込み)する方法

「SQLite3にCSVファイル(ヘッダーなし)をインポート(取り込み)する方法」に関して解説します。
 

SQLite3にCSVファイルをインポート(取り込み)する場合、「modeコマンド」と「importコマンド」を利用します。



CSVファイルをSQLite3にインポートしたい場合の「mode」と「import」の「構文」は、以下となります。

【modeコマンドの構文】
 .mode csv

【importコマンドの構文】
 .import <インポートしたいCSVファイルのPATH> <インポート先のテーブル名>



CSVファイル(ヘッダーなし)をインポート(取り込み)したい場合、以下のコマンドを順に実行します。

# ↓ SQLite3に接続 ↓
$ sqlite3 testdb.sqlite3 
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.

# ↓ CSVモードに変更 ↓
sqlite> .mode csv

# ↓ ヘッダーが記載されていないCSVファイルをmeiboテーブルにインポート(取り込み) ↓
sqlite> .import ./test-data-without-header.csv meibo

# ↓ インポート(取り込み)されたデータをSELECTクエリで確認 ↓
sqlite> select * from meibo;
1,hero
2,tom
3,bob
sqlite> 



コマンド実行後、「CSVファイルに記載したデータ」が表示された場合、「正常にimportコマンドでCSVファイルをインポートできた」と判断できます。
 

★importコマンドのリファレンス★
importコマンドのリファレンスは、以下に公開されています。
参照:importコマンドのリファレンス(公式サイト)



以上が、「SQLite3にCSVファイル(ヘッダーなし)をインポート(取り込み)する方法」となります。
 

SQLite3にCSVファイル(ヘッダーあり)をインポート(取り込み)する方法

「SQLite3にCSVファイル(ヘッダーあり)をインポート(取り込み)する方法」に関して解説します。
 

importコマンドを実行することで、ヘッダーが記載されたCSVファイルもSQLite3内にインポート(取り込み)できます。



CSVファイル(ヘッダーあり)をインポート(取り込み)したい場合、以下のコマンドを順に実行します。

# ↓ SQLite3に接続 ↓
$ sqlite3 testdb.sqlite3 
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.

# ↓ 既存のテーブルを確認 ↓
sqlite> .table
meibo

# ↓ CSVモードに変更 ↓
sqlite> .mode csv

# ↓ ヘッダーが記載されたCSVファイルをmeibo1テーブルにインポート(取り込み) ↓
sqlite> .import ./test-data-with-header.csv meibo1

# ↓ インポート(取り込み)により、作成されたテーブル(meibo1)を確認 ↓
sqlite> .schema
CREATE TABLE meibo(id, name);
CREATE TABLE meibo1(
  "id" TEXT,
  "name" TEXT
);

# ↓ インポート(取り込み)されたデータをSELECTクエリで確認 ↓
sqlite> select * from meibo1;
1,hero
2,tom
3,bob
sqlite> 



コマンド実行後、「CSVファイルに記載したデータ」が表示された場合、「正常にimportコマンドでヘッダーが記載されたCSVファイルをインポートできた」と判断できます。
 

CSVファイルにヘッダーが記載されている場合、importコマンドはヘッダー情報を元にして、新規テーブルを作成します。



以上が、「SQLite3にCSVファイル(ヘッダーあり)をインポート(取り込み)する方法」となります。
 

上記2つのimportコマンドを実行することで、「SQLite3にCSVファイルに記載されたデータをインポートし、SQLite3向けにデータ変換」できました。


 

【まとめ】SQLite3でCSVをインポート(import)する2つの方法【最短1分】

【まとめ】SQLite3でCSVをインポート(import)する2つの方法【最短1分】


いかがでしたでしょうか?「modeコマンドとimportコマンドを実行して、SQLite3内にCSVファイルを読み込む2つの方法」を解説し、以下の悩みを解決しました。
 

★悩み★
・SQLite3でCSVファイルを読み込み、テーブルにインポートってできる?
・CSVファイルにヘッダーがあるが、SQLite3にインポート(import)できる?
・SQLite3でCSVファイルをインポート(import)する方法を知りたい。



ぜひあなたも本記事を参考に「SQLite3にCSVファイルのインポート(取り込み)」を実践してください。


 

 


 

コメント

タイトルとURLをコピーしました