Permintaan Anda akan seperti ini:
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT column1, column2 FROM oldDatabase.table1;
PERBARUI
Karena jawaban ini mendapatkan lebih banyak perhatian daripada yang saya perkirakan, saya harus memperluas jawaban ini. Pertama-tama, mungkin tidak jelas dari jawaban itu sendiri, tetapi kolom tidak harus memiliki nama yang sama. Jadi, berikut ini juga akan berfungsi (dengan asumsi bahwa kolom ada di tabel masing-masing):
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT SomeOtherColumn, MoreColumns FROM oldDatabase.table1;
Selain itu, mereka bahkan tidak perlu kolom nyata dalam tabel. Salah satu contoh transformasi data yang cukup sering saya gunakan adalah:
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;
Jadi, karena mungkin lebih jelas sekarang, aturannya adalah, selama kueri SELECT mengembalikan jumlah kolom yang sama dengan yang dibutuhkan kueri INSERT, itu dapat digunakan sebagai pengganti VALUES.