Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wstaw MySQL do z jednej bazy danych w innej

Twoje zapytanie powinno wyglądać tak:

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

AKTUALIZUJ

Ponieważ ta odpowiedź zyskuje więcej uwagi, niż się spodziewałem, powinienem ją rozwinąć. Przede wszystkim może to nie wynikać z samej odpowiedzi, ale kolumny nie muszą mieć tej samej nazwy. Tak więc zadziała również poniższe (zakładając, że kolumny istnieją w odpowiednich tabelach):

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

Co więcej, nie muszą nawet być prawdziwymi kolumnami w tabeli. Jednym z przykładów przekształcania danych, którego używam dość często, jest:

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;

Tak więc, jak może być teraz bardziej oczywiste, reguła jest taka, że ​​dopóki zapytanie SELECT zwraca taką samą liczbę kolumn, jaka potrzebuje zapytanie INSERT, może być użyte zamiast 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. Jak zwrócić listę dostępnych zestawów znaków w MySQL?

  2. Znajdź całkowitą liczbę wyników w zapytaniu mySQL z przesunięciem+limit

  3. Zrozumienie statystyk HAProxy dla MySQL i PostgreSQL

  4. Zapytanie do tabeli przestawnej MySQL z dynamicznymi kolumnami

  5. 3 sposoby na znalezienie wierszy zawierających wielkie litery w MySQL