シェア

概要

このドキュメントでは、SQLite データベースからデータをエクスポートし、SQLite データベースにデータをインポートする方法について説明します。このトピックの詳細については、公式の SQLite ドキュメントを参照してください。

sqlite3 を使用したデータのエクスポート

sqlite3 は、SQLite データベース全体のさまざまなワークフローに使用できるネイティブの SQLite コマンドラインユーティリティです。このコマンドのすべてのオプションを表示するには、以下を実行してください。

sqlite3 --help

データのエクスポートは、多くの場合、sqlite3 プロンプト内の .dump コマンドを使用して行われます。

データをエクスポートするには、sqlite3 プロンプトに入り、SQLite データベースファイル(.db サフィックスが付いている場合があります)の場所を指定する必要があります。

sqlite3 ./dev.db

プロンプトに入ったら、次のようにデータをエクスポートできます。

.output ./backup.sql
.dump
.exit

または、プロンプトで .dump コマンドの後にテーブル名を追加することで、特定のテーブルをエクスポートできます。たとえば、次のコマンドは users テーブルのみをダンプします。

.output ./backup_users.sql
.dump users
.exit

すべてのデータを除外し、データベーススキーマDDL)のみをエクスポートする場合は、.dump の代わりに .schema を使用できます。

.output ./backup_schema.sql
.schema
.exit

SQL ファイルからのデータのインポート

sqlite3 プロンプト内で .dump コマンドを使用して SQLite データベースを SQL ファイルとしてエクスポートした後、.read コマンドを使用して SQL ファイルを sqlite3 にフィードバックすることで、データベースの状態を復元できます。

.read コマンドを使用する前に、sqlite3 プロンプトに入り、SQLite データベースファイルを指定する必要があります。

sqlite3 ./restore.db

これで、SQL ファイルから次のようにデータをインポートできます。

.read ./backup.sql
.exit

結論

SQLite からデータをエクスポートし、再度取り込んでデータ構造を再作成し、データベースをpopulateすることは、データの移行、バックアップ、および復旧の良い方法です。.dump コマンドと .read コマンドが連携してこのタスクを達成する方法を理解することは、データベースの境界を越えてデータを転送するのに役立ちます。

著者について
Justin Ellingwood

Justin Ellingwood

Justin は、2013 年からデータベース、Linux、インフラストラクチャ、および開発者ツールについて執筆しています。現在、妻と 2 羽のウサギと共にベルリンに住んでいます。彼は通常、三人称で書く必要はありませんが、それは関係者全員にとって救いです。