sql >> データベース >  >> RDS >> SQLite

SQLiteデータベース全体をSQLファイルにエクスポートする

    SQLiteコマンドラインは、データベース全体をエクスポートまたはバックアップするためのいくつかの方法を提供します。それらの1つには、.dumpが含まれます。 ドットコマンド。

    .dump コマンドを使用すると、データベース全体を単一のASCIIテキストファイルに変換できます。つまり、データベース全体をSQLとしてレンダリングします。テキストファイルには、テーブルの作成、データの挿入などに必要なすべてのSQLステートメントが含まれています。

    .dumpを使用することもできます 圧縮ファイルを作成します。これらの両方の方法の概要を以下に示します。

    SQLとしてエクスポート

    .dumpを使用できます .outputと組み合わせて または.once データベース全体を.sqlファイルにエクスポートします。

    このファイルには、データベースの再構築に必要なすべてのSQLステートメントが含まれます(すべてのテーブルの作成、すべてのデータの挿入など)。

    次に例を示します:

    .once Store.sql
    .dump

    この場合、.onceを使用しました 指図。これは、次のコマンドまたはSQLステートメントの結果を指定されたファイルに転送するだけです。

    この場合、次のコマンドは.dumpです。 dotコマンド。デフォルトでは、すべてのデータベースコンテンツをSQLとしてレンダリングします。

    または、.outputを使用することもできます 、ただし、これによりすべての結果が表示されます ファイルへの将来のコマンド/SQLステートメント。注意しないと、これは意図しない結果をもたらす可能性があります。

    データベースを復元する

    .sqlバックアップファイルを作成したら、SQLite内からそのファイルを読み取るだけで、データベース全体を再構築できます。

    たとえば、新しいデータベースファイル(まだ存在していないファイル)を指定しながらSQLiteに接続できます:

    sqlite3 Store2.db

    存在しないデータベースファイルを指定することにより、SQLiteは空のデータベースを作成します。

    SQLiteを使用しているので、バックアップファイルの内容を読み取ることができます。

    .read Store.sql

    これですべてです。データベースは.sqlファイルから再構築されました。すべてのテーブルが作成され、すべてのデータが挿入されました。

    圧縮ファイルを作成する

    データベースが大きく、大量のデータが含まれている場合は、圧縮バックアップファイルを作成することをお勧めします。

    次に例を示します:

    sqlite3 Store .dump | gzip -c >Store.dump.gz

    これはSQLiteの外部で実行されることに注意してください。つまり、このコマンドを実行する前にSQLiteに接続していませんでした。新しいターミナルウィンドウを開いて、そのコマンドを実行しただけです。

    実際、私は最初にバックアップフォルダに移動しました。これを行わない場合は、バックアップファイルにパスを含める必要があります。

    zcatを使用してデータベースを再構築できます 。 zcat ユーティリティを使用すると、実際に解凍せずに、圧縮ファイルの内容を表示できます。

    したがって、前の例で作成されたファイルは、 zcatを使用して再構築できます。 ユーティリティ。

    zcat Store.dump.gz | sqlite3 Store2

    これは、システムによっては機能する場合と機能しない場合があります。これが機能しない場合は、別の圧縮ユーティリティを使用する必要があるかもしれません。


    1. T-SQLで日付に日を追加する方法

    2. MS SQL Server 2005の日付から週番号を取得しますか?

    3. 条件付きJOINステートメントSQLServer

    4. MySQLで非ヌル制約を削除する方法