2012-10-24 5 views
1

mysql에 두 개의 데이터베이스가 있고 database1의 한 테이블에서 database2의 한 테이블로 데이터를 이동하려고합니다. 이 테이블은 유사한 스키마를가집니다. 나는이 쿼리를 사용하여 다른 테이블의 데이터를 테이블에 삽입 할 수 있음을 알고 있습니다.하나의 데이터베이스 테이블에서 쉘을 사용하여 다른 테이블로 데이터 이동

Insert Into table1 (select * from table2) 

나는 이것을 명령 행으로 할 수있다. 문제는 이러한 테이블은 diffrenet 데이터베이스에서하고 내가 한 테이블에서 데이터를 읽기 위해, 나는이 SQL 명령을 내가 그렇게 할 수있는 방법을

use database1; 

와 데이터베이스를 선택해야합니다 알고있다?

답변

5

당신은 사용할 수 있습니다 insert Into db1.table1 (select * from db2.table2)

2

을 당신은 necesarily use database1 문장을 사용할 필요가 없습니다 ... 당신은 다음을 수행 할 수 있습니다

insert into database2.table1 
select * from database1.table1 

쉘을 사용하려는 경우, 당신은 할 수있다 mysqldump을 사용하십시오. 리눅스 (또는 다른 유닉스 나 유닉스 같은 환경)에서 작업하는 경우, 당신은 사용할 수 있습니다

mysqldump -h [host] -u [user] -p[password] database1 table1 | mysql -h [host] -u [user] -p[password] database2 

database2에 ( database1에) table1의 정확한 복사본을 만들 것입니다. 그냥 경고 : 이라는 테이블이 database2에있는 경우 복사본을 만들기 전에 지울 것입니다.

희망이 당신을

관련 문제