La tua richiesta dovrebbe essere questa:
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT column1, column2 FROM oldDatabase.table1;
AGGIORNAMENTO
Poiché questa risposta sta ricevendo più attenzione di quanto mi aspettassi, dovrei espandere questa risposta. Prima di tutto, potrebbe non essere ovvio dalla risposta stessa, ma non è necessario che le colonne abbiano lo stesso nome. Quindi, anche quanto segue funzionerà (supponendo che le colonne esistano nelle rispettive tabelle):
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT SomeOtherColumn, MoreColumns FROM oldDatabase.table1;
Inoltre, non è nemmeno necessario che siano colonne reali nella tabella. Uno degli esempi di trasformazione dei dati che utilizzo abbastanza spesso è:
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;
Quindi, come potrebbe essere più ovvio ora, la regola è che, purché la query SELECT restituisca lo stesso numero di colonne di cui ha bisogno la query INSERT, può essere utilizzata al posto di VALUES.