データベース テーブルをエクスポートし、それを完全に別のデータベースに作成された新しい列にインポートする最良の方法を見つけようとしています。
使用されなくなる列もあれば、命名規則が異なる列もあります。
このアプローチには何が推奨されますか? オンラインツールはありますか?
繰り返しますが、新しいデータベーステーブルは同じではありません...基本的に、古い列を新しい列に割り当てることができる必要があります。
データベース テーブルをエクスポートし、それを完全に別のデータベースに作成された新しい列にインポートする最良の方法を見つけようとしています。
使用されなくなる列もあれば、命名規則が異なる列もあります。
このアプローチには何が推奨されますか? オンラインツールはありますか?
繰り返しますが、新しいデータベーステーブルは同じではありません...基本的に、古い列を新しい列に割り当てることができる必要があります。
ストレージ エンジンを使用FEDERATED
してリモートの MySQL インスタンスにアクセスし、使用INSERT ... SELECT
してデータをコピーできます。
これが、サーバーがそのようなリンクを確立する必要のない 1 回限りの演習である場合は、データを TSV のような形式にエクスポートし (例:SELECT ... INTO OUTFILE
またはを使用mysqldump
)、反対側で再インポートすること (例:LOAD DATA INFILE
またはを使用mysqlimport
) が賢明です。解決。
どちらのアプローチでも、プロセスの一部として列名を再割り当て (およびその他の変換を実行) できます。
-- federated table approach
INSERT INTO localtable (colA, colB, colC)
SELECT colX, CONCAT('foo', colY), 100 + colZ FROM remotetable;
-- TSV approach
LOAD DATA INFILE '/path/to/file' INTO TABLE localtable (colA, @colY, @colZ)
SET colB = CONCAT('foo', @colY), colC = 100 + @colZ;