概要
このドキュメントでは、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
コマンドが連携してこのタスクを達成する方法を理解することは、データベースの境界を越えてデータを転送するのに役立ちます。