なぜ DB を SQL に変換するのですか?
.sql ダンプはプレーンテキストであるため、バージョン管理が容易で、任意のエディタで検査でき、読み取り可能なバックアップとして使用できます。また、別のデータベースエンジンへのデータ移行も可能になりますが、SQLiteの方言を MySQL や PostgreSQL 用に調整する必要がある場合があります。.sql ファイルは、データベースシステム間の標準的な交換フォーマットです。
DB から SQL への変換方法
DB Browser for SQLite FREE
File > Open Database から .db を開き、File > Export > Database to SQL file に進みます。含めるテーブルを選択して .sql ファイルを保存します。
Navicat Premium APP
Navicat Premium で SQLite の .db に接続し、データ転送またはエクスポート機能を使用して .sql ダンプを生成します。
Exportizer APP
Exportizer で .db を開き、データベースの内容を .sql スクリプトファイルとしてエクスポートします。
DB を変換するプログラム
これらの形式について
.dbファイルは、ほとんどの場合SQLiteデータベースです。これは、Androidアプリ、ブラウザ、デスクトッププログラムがデータを保存するために使用するシングルファイル形式です。無料のDB Browser for SQLite(Windows/macOS/Linux)またはsqlite3コマンドラインで開くことができます。ファイルが «SQLite format 3»…
.DB の詳細を開く →SQL ファイルは、スキーマ定義、INSERT 文、またはクエリを含む SQL コマンドが記述されたプレーンテキストファイルです。内容を確認するには任意のテキストエディタで開き、使用するには DBeaver、MySQL Workbench、またはコマンドラインの mysql < file.sql…
.SQL の詳細を開く →品質と注意点
- ダンプは SQLite 方言の SQL(
BEGIN TRANSACTION/COMMIT、INTEGER PRIMARY KEY構文など)を使用します。MySQL や PostgreSQL にインポートする前に、データ型を調整し、SQLite 固有のプラグマを削除してください。 - ダンプにはテーブル、インデックス、トリガー、ビューが含まれます。行データは1行につき1つの INSERT 文になるため、大規模なデータベースでは非常に大きな
.sqlファイルが生成されます。 .dbの隣に-walファイルがある場合は、コミットされていないページが取り込まれるのを防ぐため、ダンプ前に所有しているアプリケーションを閉じてください。
よくある質問
`.sql` ファイルを SQLite にインポートし直すことはできますか?
sqlite3 newfile.db < output.sql を実行して、ダンプから新しいデータベースを作成できます。SQLite のダンプを MySQL や PostgreSQL で使用できますか?
データベース全体ではなく、1つのテーブルだけをダンプできますか?
sqlite3 file.db ".dump tablename" > tablename.sql を実行して、単一のテーブルをエクスポートできます。この変換用のブラウザベースのツールはありますか?
.db を .sql に変換できる信頼性の高いブラウザツールはありません。これには sqlite3 エンジンをネイティブバイナリとして実行する必要があります。