SQLite で CSV ファイルからデータをインポートする
SQLite データベースは、C プログラミング言語で記述されたデータベース管理システムまたは DBMS です。 指定したディレクトリに単一ファイルベースのデータベースを作成し、その単一ファイル内にすべてのデータベースとテーブルを格納するモジュールです。
データベース スキーマとは、データベースの論理表現を指します。 簡単に言えば、データベースの全体構造を指します。
データベース テーブル スキーマは、テーブルの構造を参照します。 属性、そのタイプ、デフォルト値、制約などに関する詳細が含まれています。
一部のデータがテーブルに追加される場合、そのデータは、テーブルと列の型に設定された制約に従う必要があります。 SQLite テーブルにデータをロードまたは追加するには、INSERT
コマンド、ORM、または任意のプログラミング言語の SQL インターフェイスを手動で使用するなど、さまざまな方法があります。
この記事では、CSV ファイルを使用して SQLite データベースにデータを追加する方法を説明します。
CSV データを SQLite テーブルにインポートする
次の SQL コマンドを使用して、CSV ファイルから SQLite テーブルにデータをインポートできます。
.mode csv -- Setting the mode to CSV
.import data.csv my_table -- Importing the data to the specified table
.exit -- Exit from the CSV mode
.mode csv
コマンドは、出力モードを CSV に設定します。 .import data.csv my_table
コマンドは、data.csv
ファイル内のすべてのデータを新しいテーブル my_table
にインポートします。
CSV ファイルの 1 行目にある列名が、作成されるテーブルの列名として使用されます。 最後に、.exit
コマンドで CSV モードを終了します。
SQLite の新しいバージョンでは、上記のすべてのコマンドを一度に実行できます。
.import test.csv my_table --csv
CSV ファイルの最初の行に列名がない場合は、手動で SQLite テーブルを作成し、CSV ファイル構造に一致するスキーマを指定する必要があります。
さらに、通常どおりそのテーブルにデータをインポートできます。 このためのワークフローは、次のようになります。
create table my_table( ... ); -- Creating a new table
.mode csv -- Setting the mode to CSV
.import data.csv my_table -- Importing the data to the specified table
.exit -- Exit from the CSV mode