一部のフィールドを除くMysqldumpテーブル


14

いくつかのフィールドなしでテーブルをmysqldumpする方法はありますか?

説明させてください
。MySQLデータベースがありますtests。でtests、私は3つのテーブルを持っている:USERTOTOTATA。tableのいくつかのフィールドをmysqldumpしたいだけUSERmailのでip_login、などのいくつかのフィールドを除外します。

これどうやってするの?

回答:



8

これはmysqldumpで直接行うことはできません。ただし、問題のデータを含まない一時テーブルまたはビューを作成してから、結果のデータをダンプできます。ビューの場合INTO OUTFILE、必要なデータを取得するにはmysqldumpではなく使用する必要があると思いますが、一時テーブルの代わりにビューを使用すると、DBMSで余分なスペースを使用しないという利点があります。

もう1つのオプションは、ファイルのパーサーを作成して、不要なフィールドを削除することです。控えめに言っても、これは非常に迅速に複雑になる可能性があります。つまり、マルチバイト文字、エスケープされた文字列区切りなどに直面しても堅牢なパーサーを作成したい場合は複雑になります。 -time-useの場合、それはまだ有効なオプションである可能性があります。


0

Phpmyadminを使用してこれを行うこともできます。クエリを作成して必要なフィールドを選択し、ページの下部にある「エクスポート」機能を選択して(テーブル全体ではなくクエリ結果をエクスポートします)、「カスタム」オプションを選択します。その後、SQLを形式として選択できます。必要に応じて、INSERTではなく一連のUPDATEクエリを作成できます。多くの場合、このようなことを簡単に行うことができます。


0

多くのDB管理ツールには、カスタムインポートを実行する機能があります。特に、Autoincrement PKを使用してテーブル間でデータを転送するために、Toad for MySQLを使用してこれを達成しました。

エクスポートウィザードを使用して、クエリ結果をExcelに保存しました。

次に、ソースフィールドを[この列をスキップ]に設定して、インポートウィザードを使用して列を除外できます。

インポートウィザード

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.