Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Вмъкване в от една база данни в друга

Вашата заявка трябва да изглежда така:

INSERT INTO newDatabase.table1 (Column1, Column2) 
SELECT column1, column2 FROM oldDatabase.table1;

АКТУАЛИЗИРАНЕ

Тъй като този отговор привлича повече внимание, отколкото дори очаквах, трябва да разширя този отговор. Първо, може да не е очевидно от самия отговор, но не е необходимо колоните да имат едно и също име. Така че, следното също ще работи (ако приемем, че колоните съществуват в съответните им таблици):

INSERT INTO newDatabase.table1 (Column1, Column2) 
SELECT SomeOtherColumn, MoreColumns FROM oldDatabase.table1;

Освен това те дори не е необходимо да са реални колони в таблицата. Един от примерите за трансформиране на данни, които използвам доста често е:

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Изберете всички дати в диапазон, дори ако няма налични записи

  2. Защо резултатите от SQL заявка не се връщат в реда, в който очаквам?

  3. PolyScale.ai – Мащабиране на MySQL и PostgreSQL с глобално кеширане

  4. Как да импортирате MySQL бази данни в командния ред

  5. Как да изтриете дубликати в MySQL таблица