Получить все из базы данных - MySQL - PullRequest
0 голосов
/ 05 августа 2011

Мне было интересно, есть ли способ получить все (все записи) из базы данных?Тогда у пользователя будет возможность сохранить этот файл в виде таблицы Excel.

Я смотрел на DTS (служба преобразования данных), это то же самое?

Есть ли конкретный запрос, которыйможет быть отправлено через PHP в базу данных, будет ли это слишком загружать ее?

Я провел некоторый объемный анализ и подумал, что самая большая база данных, которую когда-либо получит, будет не более 40 МБ.1008 * Так что в идеале я хочу добиться этого.

  1. Запрос "получить все из базы данных"
  2. Мой PHP "получает результат запроса"
  3. Мой PHP "преобразует его в файл Excel "
  4. Предложить пользователю сохранить файл Excel

Возможно ли это?

Спасибо

Ответы [ 3 ]

3 голосов
/ 05 августа 2011

Вы можете выбрать только все из таблицы; Выполните итерацию списка всех таблиц (используйте SHOW TABLES of information_schema.tables) и выполните SELECT * FROM ... для каждой.

2 голосов
/ 05 августа 2011

Базы данных не являются электронными таблицами.Вы можете получить CSV-представление одной таблицы, не содержащей двоичных данных (которую откроет Excel), используя запрос SELECT ... INTO OUTFILE.

http://dev.mysql.com/doc/refman/5.1/en/select.html

0 голосов
/ 05 августа 2011
<?php
    $output = array();
    $tables = array('table1','table2','table3');
    foreach($tables as $table) {
        $sql = "SELECT * from " . $table;
        $result = mysql_query($sql);
        array_push($output, $result);
    }
    // You now have an array of database objects for each table 
    // to do with as you will.
?>
...