Truy vấn của bạn sẽ như sau:
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT column1, column2 FROM oldDatabase.table1;
CẬP NHẬT
Vì câu trả lời này đang được chú ý nhiều hơn tôi thậm chí dự đoán, tôi nên mở rộng câu trả lời này. Trước hết, nó có thể không rõ ràng từ chính câu trả lời, nhưng các cột không cần phải có tên giống nhau. Vì vậy, sau đây cũng sẽ hoạt động (giả sử rằng các cột tồn tại trong bảng tương ứng của chúng):
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT SomeOtherColumn, MoreColumns FROM oldDatabase.table1;
Hơn nữa, chúng thậm chí không cần phải là cột thực trong bảng. Một trong những ví dụ để chuyển đổi dữ liệu mà tôi sử dụng khá thường xuyên là:
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;
Vì vậy, bây giờ có thể rõ ràng hơn, quy tắc là, miễn là truy vấn CHỌN trả về cùng số cột mà truy vấn CHÈN cần, thì nó có thể được sử dụng thay cho GIÁ TRỊ.