あるMySQLDbから別のMySQLDBにデータをインポートする方法を教えてください。両方のデータベースのデータスキーマは完全に異なり、2番目のデータベースは最初のデータベースの正規化されたバージョンです。
前もって感謝します
ETLソフトウェアを使用するのがより良い方法だと思います。
ウィキペディアによると:
抽出、変換、および読み込み(ETL)は、データベースの使用におけるプロセスであり、以下が含まれます。
抽出、変換、読み込み(ETL)スクリプトについて話しています。
非正規化されたデータから正規化されたデータに移行するのは地獄です。私はあなたが逆をしていることを願っています-非正規化に正規化-これは次のようになります:
次のようなシェルスクリプトを記述します。
mysqldump olddb >dump.sql
mysql newdb <dump.sql
CREATE TABLE AS SELECT ...
コマンドを記述し、それらをmysqlで実行して、非正規化データを作成します。非正規化されたデータを正規化に変換することはめちゃくちゃ難しく、使用しているデータセットに固有のアプローチが必要です。
スティーブンの言うことに同意しますが、同様のテクニックでそれを達成することができます。ただし、より複雑なクエリを作成する必要があります。あなたは次のようなことをすることができます:
INSERT INTO table1(field1, field2,...) SELECT field4,field1,... FROM table1;
明らかに、正しい順序で実行する必要があります。IMOは、結合などを使用して複雑なクエリを作成できるようにするための優れたアプローチです。