CSVファイルからSQLiteデータベースにデータをインポートできます。
データをSQLiteにインポートするには、.import
を使用します 指図。このコマンドは、ファイル名とテーブル名を受け入れます。
ファイル名はデータが読み取られるファイルであり、テーブル名はデータがインポートされるテーブルです。テーブルが存在しない場合は、CSVファイルのデータに基づいて自動的に作成されます。
CSVから新しいテーブルへ
この例では、CSVファイルの内容を現在存在しないテーブルにインポートします。そのため、CSVファイルのデータに基づいて新しいテーブルが作成されます。
以前にエクスポートしたものと同じCSVファイルを使用します。
.mode csv .import /Users/quackit/sqlite/dumps/catalog.csv Catalog
必ず.mode csv
を使用してください .import
の前 これにより、コマンドラインユーティリティが入力ファイルのテキストを他の形式として解釈しようとするのを防ぐことができます。
それを実行した後、.tables
を実行できます テーブルを確認するコマンド:
sqlite> .tables Albums Albums2 Artists Catalog
新しいテーブル(
カタログ
)が作成されました。 SELECT
を実行してみましょう 内容を確認するために:
sqlite> .mode column sqlite> SELECT * FROM Catalog; AlbumId AlbumName ArtistName -------- -------------------- ------------ 1 Killers Iron Maiden 2 Powerslave Iron Maiden 12 Somewhere in Time Iron Maiden 3 Surfing with the Ali Joe Satriani 10 Flying in a Blue Dre Joe Satriani 11 Black Swans and Worm Joe Satriani 6 Out of the Loop Mr Percival 7 Suck on This Primus 8 Pork Soda Primus 9 Sailing the Seas of Primus
モードをcolumn
に戻すこともできます。 (または使用していた他のモード)ここで行ったように。
また、スキーマも確認しましょう:
sqlite> .schema Catalog CREATE TABLE Catalog( "AlbumId" TEXT, "AlbumName" TEXT, "ArtistName" TEXT );
既存のテーブル
CSVファイルを既存のテーブルにインポートすることもできます。適切な定義を使用してテーブルを作成し、インポートを実行するだけです。
ただし、必ず最初にCSVファイルからヘッダーを削除してください。既存のテーブルにインポートする場合、すべて CSVファイルの行は、テーブルの行として読み込まれます。したがって、ヘッダー行を含めると、それがテーブルのデータの最初の行になります。
ここで、 Genres という新しいテーブルを作成します。 CSVファイルから入力します。
CSVファイルの内容は次のとおりです。
1,Rock 2,Country 3,Pop 4,Comedy 5,Jazz 6,Blues 7,Techno
新しいテーブルを作成します:
CREATE TABLE Genres( GenreId INTEGER PRIMARY KEY, Genre TEXT NOT NULL );
そこにあることを確認してください:
sqlite> .tables Albums Albums2 Artists Catalog Genres
次に、CSVファイルをインポートします:
.mode csv .import /Users/quackit/sqlite/dumps/genres.csv Genres
次に、データが入力されたことを確認します(そしてcolumn
に戻ります) モード):
sqlite> .mode column sqlite> SELECT * FROM Genres; GenreId Genre -------- -------------------- 1 Rock 2 Country 3 Pop 4 Comedy 5 Jazz 6 Blues 7 Techno