我不知道是否有人可以真正向我展示一个PHP代码示例,我如何将大约50个表中的MySQL数据库导出到CSV文件。我的数据库名称是“样本”,我在这个数据库下有大约49个表格。我希望这个数据库下的每个表(有大约20,00行)被导出到一个csv文件。从mysql导出mysql列表到csv文件使用php
谢谢你,并期待着任何帮助。对不起,我很新的PHP。
我不知道是否有人可以真正向我展示一个PHP代码示例,我如何将大约50个表中的MySQL数据库导出到CSV文件。我的数据库名称是“样本”,我在这个数据库下有大约49个表格。我希望这个数据库下的每个表(有大约20,00行)被导出到一个csv文件。从mysql导出mysql列表到csv文件使用php
谢谢你,并期待着任何帮助。对不起,我很新的PHP。
通常我会用MySQL Workbench或SQLYog来做这件事。但如果你需要它在PHP中有一些很好的教程,从SQL出口到PHP那里。
像这样的工作,但你会通过表需要循环:
http://www.ineedtutorials.com/code/php/export-mysql-data-to-csv-php-tutorial
如果你有机会到MySQL服务器,你可以使用SELECT INTO OUTFILE
做这个最适合你:
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服务器的数据目录,就在表旁边。
这是如何直接从mysql终端导出1个表。我刚刚使用的tmp目录作为一个例子给你买可以将路径更改为你喜欢的东西:
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 '"';");
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);
?>
你使用的东西,像phpMyAdmin或者其他一些GUI来进行数据库管理? –