Как экспортировать результат запроса MySQL с помощью phpMyAdmin 3.4.3?


32
  1. У меня есть таблица строк 30K
  2. Когда я выполняю длинный 50-строчный запрос к этой таблице, функция GROUP уменьшает количество строк до 7 КБ.
  3. Я хочу экспортировать сгруппированные строки 7K как новую таблицу или сохранить их как CSV

Когда я пытаюсь экспортировать, вместо того чтобы получить сгруппированные строки по 7 КБ, я получаю старые строки с предварительным запросом 30 КБ. Что я делаю не так, и что я должен делать?

ПРИМЕЧАНИЕ: я не программист, поэтому я бы очень признателен за решение, которое просто использует графический интерфейс phpMyAdmin.


Было бы очень полезно предоставить SQL-запросы, которые phpMyAdmin создал и использовал.
Боб Ортис

Ответы:


52
  1. Выполните запрос sql на вкладке SQL в phpMyAdmin.

  2. После выполнения прокрутите страницу вниз и найдите «Операции с результатами запроса»

  3. Нажмите на ссылку «Экспорт» из приведенного выше, и вы получите страницу для экспорта всех результатов запросов в желаемый формат. Вот и все.


Очень просто, не знаю, почему я не видел его там в прошлом!
Николас Декер

2
Выберите «Экспорт» из «Операции с результатами запроса», и в нем будут показаны все записи из таблицы, а не результат запроса. Есть ли что-нибудь еще, чтобы быть выбранным?
Web_Developer

13

Вместо кнопки экспорта в верхней части графического интерфейса используйте кнопку внизу в поле «Операции с результатами запроса». Это тот, который вы хотите.

Кнопка экспорта


Я также загрузил сюда фотографию - интересно, куда она делась. PS - если это решило вашу проблему, отметьте это как правильный ответ.
Судипта Чаттерджи

1
Благодарность! В текущем интерфейсе есть еще одна неправильная кнопка «экспорт», прямо о поле «Операции с результатами запроса». Скриншот полезен.
октября

3

Вы уже получили запрос? Вы можете вставить в новую таблицу, используя результаты другого запроса

Похоже, шаги, которые вам нужны:

  1. Создайте новую таблицу со всеми столбцами.
  2. INSERT INTO newTable (field1, field2, field3) SELECT field1, field2, field3 FROM otherTable GROUP BY field1

Настройте для вашего 50-строчного запроса.


Спасибо! Дайте мне посмотреть, если я понимаю ... (1) create newtable (2) oldtable содержит около 60 столбцов, и все они используются, поэтому ... INSERT INTO newtable * SELECT * from oldtable (3) я размещаю ваш ВСТАВИТЬ INTO код в конце моего существующего запроса?
виноград

Вы помещаете INSERT INTO перед вашим запросом. Он работает так же, как обычный INSERT, за исключением того, что вместо предоставления «VALUES (rowColumn1, rowColumn2, rowColumn3)» вместо этого вы предоставляете результаты SELECT.
Reece45

3

По некоторым запросам это невозможно напрямую.

Вы должны записать результат запроса в таблицу с помощью create table asсинтаксиса. Затем вы можете следовать обычным инструкциям по экспорту: https://serverfault.com/a/300342/256884.


1
Если ваш запрос возвращает большое количество записей (много страниц), это единственное решение.
Николас Пикеринг
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.