SQLiteデータベースからCSVファイルにデータをエクスポートできます。テーブル全体またはクエリの結果をエクスポートできます。
データをCSVファイルにエクスポートするには、.once
を使用します コマンドの後に、ファイルに書き込むファイルのパス/名前を続けます。
テーブルからCSVファイルへ
この例では、 Artists のコンテンツをエクスポートします テーブルをCSVファイルに変換:
.header on .mode csv .once /Users/quackit/sqlite/dumps/artists.csv SELECT * FROM Artists;
コードの説明:
- まず、ヘッダーを有効にします。これにより、列名がCSVファイルのヘッダーとして使用されます。これはオプションです。ヘッダーを無効にすると、CSVファイルにはヘッダーが含まれなくなります。
- 次に、csvモードを有効にします(
.mode csv
- 次の行(
.once
で始まります )出力がCSVファイルに書き込まれます。 - 最後に作成するのは実際のクエリ(この場合は
SELECT
)です。 テーブルのステートメント。)
そのコードを実行すると、次の内容のCSVファイルが作成されます。
ArtistId,ArtistName,Bio 1,"Joe Satriani", 2,"Steve Vai", 3,"The Tea Party", 4,Noiseworks, 5,"Wayne Jury", 6,"Mr Percival", 7,"Iron Maiden", 8,Atmasphere,"Australian jazz band centred around polyrhythms." 9,"Ian Moss", 10,Magnum, 13,Primus, 14,"Pat Metheny", 15,"Frank Gambale", 16,"Mothers of Invention",
クエリに参加
1つのテーブルを出力するだけではありません。任意のクエリを出力できます。これは、2つのテーブルからデータを選択し、その結果を1つのCSVファイルに出力するクエリです。
.header on .mode csv .once /Users/quackit/sqlite/dumps/catalog.csv SELECT AlbumId, AlbumName, ArtistName FROM Artists AS a INNER JOIN Albums AS b ON a.ArtistId = b.ArtistId ORDER BY ArtistName;
これにより、次の内容のCSVファイルが作成されます。
AlbumId,AlbumName,ArtistName 1,Killers,"Iron Maiden" 2,Powerslave,"Iron Maiden" 12,"Somewhere in Time","Iron Maiden" 3,"Surfing with the Alien","Joe Satriani" 10,"Flying in a Blue Dream","Joe Satriani" 11,"Black Swans and Wormhole Wizards","Joe Satriani" 6,"Out of the Loop","Mr Percival" 7,"Suck on This",Primus 8,"Pork Soda",Primus 9,"Sailing the Seas of Cheese",Primus
CSVファイルを自動的に開く
.system
を使用できます Excel、OpenOffice、LibreOfficeなどのコンピュータのスプレッドシートプログラムでファイルを自動的に開くコマンド。
.system
を配置します 最後の行のコード(SELECT
の後) 声明)。このように:
.header on .mode csv .once /Users/quackit/sqlite/dumps/catalog.csv SELECT AlbumId, AlbumName, ArtistName FROM Artists AS a INNER JOIN Albums AS b ON a.ArtistId = b.ArtistId ORDER BY ArtistName; .system open /Users/quackit/sqlite/dumps/catalog.csv
使用する正確なコードは、オペレーティングシステムによって異なります。
- Windowsでは、
.system
を使用します その後にファイル名が続きます。 - Macでは、
.system open
を使用します その後にファイル名が続きます。 - LinuxおよびUnixシステムでは、
.system
を使用します その後にファイルを開くプログラムの名前が続き、その後にファイル名が続きます。例:.system libreoffice /dumps/file.csv
テーブルまたはデータベースをダンプする
.dump
を使用して、テーブルまたはデータベース全体をASCIIテキストファイルにダンプすることもできます。 コマンド。