экспортировать mysql список таблиц из mysql в файл csv, используя php

Интересно, может ли кто-нибудь на самом деле показать мне пример кода PHP, как я могу экспортировать около 50 таблиц в базу данных MySQL в CSV-файл. Мое имя базы данных – это «образцы», и у меня есть около 49 таблиц в этой базе данных. Я хочу, чтобы каждая таблица (около 20,00 строк) в этой базе данных экспортировалась в файл csv.

Спасибо, и с нетерпением жду любой помощи. Извините, кстати, я очень новичок в PHP.

Если у вас есть доступ к серверу 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'; 

Вы можете использовать разделитель строк в \r\n если вы используете Windows.

Если вы не укажете полный путь к результирующему CSV-файлу, он попадет в каталог данных сервера MySQL прямо рядом с таблицами.

Обычно я делал это с помощью чего-то вроде MySQL Workbench или SQLYog. Но если вам это нужно в php, есть несколько отличных учебников по экспорту из sql в php.

Что-то вроде этого будет работать, но вам нужно будет перебирать таблицы:

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

Вот как экспортировать 1 таблицу непосредственно из терминала mysql. Я только что использовал каталог 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); ?>