2012-07-11 2 views
0

SELECT 쿼리의 결과를 유효한 SQL INSERT로 내보내고 다른 데이터베이스로 가져 오려고합니다 (일부 레코드가 실수로 삭제됨). 일반적으로 PHPMyAdmin의 내보내기 기능을 사용하지만 서버 중 하나에서 PHPMyAdmin을 사용할 수 없습니다. 나는 VIEW과 mysqldump를 사용할 수 있다고 믿지만 어디에서 시작해야할지 모르겠다. 내 뷰를 덤프하는 방법을 설명하는 문서를 찾을 수 없다. 1 당신 :PHPMyAdmin 내보내기 대안

+0

여기를 확인하십시오. 오픈 소스 웹 도구입니다 ... 문제를 해결할 수도 있습니다 ... [여기를 클릭하십시오.] – Rush

답변

2

음으로로드 할 수, 쿼리 후 INTO OUTFILE "filename"를 추가하고, 해당 서버의 내용을 가진 파일을 얻을 그것을 CSV 파일로 내 보낸 다음 결과를 가져올 수 있습니다.

SELECT * FROM your_table 
INTO OUTFILE '/tmp/table.csv' 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 

그런 다음 당신은 CSV 형식으로 파일에

load data local infile 'table.csv' into table your_new_table fields terminated by ',' 
enclosed by '"' 
lines terminated by '\n' 
(your, field, names) 
+0

왜 지정하지 않으면 mysql 기본값을 사용하지 않습니까? 그들 양쪽에? –

+0

OP가 자신의 출력을 사용자 지정할 수 있기 때문에 값을 표시하는 것이 더 완전한 대답이라고 생각했습니다. –

+0

먼저 CSV 파일로 이동해야합니까? SQL INSERT 문만 출력 할 수 있습니까? – nachito

-1

당신이 하나 개의 테이블에 하나를 가져 오는 경우, 다른 서버

0
SELECT * 
FROM yourtable 
INTO OUTFILE '/tmp/yourData.csv' 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 

이 출력됩니다를 수행하여 수동으로 가져올 수 있습니다. 원하는 유형의 데이터를 반환 할 수도 있습니다.