2014-02-27 2 views
1

MySQL 데이터베이스에서 약 50 개의 테이블을 CSV 파일로 내보낼 수있는 방법에 대한 샘플 PHP 코드를 실제로 표시 할 수 있는지 궁금합니다. 내 데이터베이스 이름은 "샘플"이고이 데이터베이스 아래에 약 49 개의 테이블이 있습니다. 이 데이터베이스 아래에있는 각 테이블 (약 20,00 행)이 CSV 파일로 내보내 지길 원합니다.mysql에서 PHP를 사용하여 mysql에서 csv 파일로 테이블 목록 내보내기

감사합니다. 도움을 기다리고 있습니다. 죄송 합니다만, 저는 PHP에서 매우 새로 왔습니다.

+0

할 당신은 phpMyAdmin과 같은 것을 사용 난 그냥 당신이 좋아하는 당신은 아무것도의 경로를 변경할 수 있습니다 살 예로 tmp 디렉토리를 사용했습니다 또는 데이터베이스 관리를위한 다른 GUI? –

답변

0

일반적으로 MySQL Workbench 또는 SQLYog와 같은 작업을 수행합니다. 하지만 PHP에서 필요하다면 sql에서 php로 내보내기에 대한 훌륭한 자습서가 있습니다. 이 같은

뭔가 일 것입니다,하지만 당신은 테이블을 통해 루프 필요 : 당신은 MySQL 서버에 액세스 할 수있는 경우, 당신은 당신을 위해이 대부분을 수행 할 SELECT INTO OUTFILE을 사용할 수 있습니다

http://www.ineedtutorials.com/code/php/export-mysql-data-to-csv-php-tutorial

1

:

SELECT * FROM my_table 
    INTO OUTFILE 'my_table.csv' 
    FIELDS TERMINATED BY ',' 
    OPTIONALLY ENCLOSED BY '"' 
    ESCAPED BY '\\' 
    LINES TERMINATED BY '\n'; 

당신은 Windows를 사용하는 경우 \r\n의 라인 구분을 할 수 있습니다.

결과 CSV 파일의 전체 경로를 지정하지 않으면 테이블 바로 옆에있는 MySQL 서버의 데이터 디렉토리로 이동합니다.

0

mysql 터미널에서 직접 1 개의 테이블을 내보내는 방법입니다.

select * from product where condition1 order by condition2 desc INTO OUTFILE '/tmp/myfile.csv' FIELDS TERMINATED BY ',' ESCAPED BY '\\' OPTIONALLY ENCLOSED BY '"'; 

또는 PHP와 mysqli와

:

<?php 
$con=mysqli_connect("example.com","uname","password","my_db"); 
// Check connection 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

$result = mysqli_query($con," select * from product where condition1 order by condition2 desc INTO OUTFILE '/tmp/myfile.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"';"); 
+0

문자열의 큰 따옴표가 이스케이프 처리되지 않았습니까? – tadman

+0

잘 생긴 tadman :) – Volterony

0
Try... 
Create csv file. 
<?php 
mysql_connect('localhost', 'root', ''); 
mysql_select_db('mydb'); 
$qry = mysql_query("SELECT * FROM tablename"); 
$data = ""; 
while($row = mysql_fetch_array($qry)) { 
    $data .= $row['field1'].",".$row['field2'].",".$row['field3'].",".$row['field4']."\n"; 
} 
$file = 'file.csv'; 
file_put_contents($file, $data); 
?> 
관련 문제