クエリは次のようになります:
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT column1, column2 FROM oldDatabase.table1;
更新
この答えは私が予想していたよりも注目を集めているので、私はこの答えを拡張する必要があります。まず、答え自体からは明らかではないかもしれませんが、列は同じ名前である必要はありません。したがって、以下も機能します(列がそれぞれのテーブルに存在すると仮定します):
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT SomeOtherColumn, MoreColumns FROM oldDatabase.table1;
さらに、テーブル内の実際の列である必要はありません。私がよく使用するデータを変換する例の1つは、次のとおりです。
INSERT INTO newDatabase.users (name, city, email, username, added_by)
SELECT CONCAT(first_name, ' ', last_name), 'Asgard', CONCAT(first_name,'@gmail.com'), CONCAT(first_name,last_name), 'Damir' FROM oldDatabase.old_users;
したがって、今ではもっと明白になるかもしれませんが、SELECTクエリがINSERTクエリに必要な数の列を返す限り、VALUESの代わりに使用できるというルールがあります。