Как я могу сохранить результат запроса SQL в файле CSV, используя Squirrel? - PullRequest
20 голосов
/ 22 февраля 2010

Версия 3.0.3. Это довольно большой набор результатов, около 3 миллионов строк.

Ответы [ 5 ]

29 голосов
/ 17 октября 2012

Мартин в значительной степени имеет это право.

Версия TL / DR заключается в том, что вам нужен плагин «SQLScripts» (который является одним из «стандартных» плагинов), а затем вы можете выбрать следующие параметры меню: Session> Scripts> Store Result of SQL in File

Я смотрю на версию 3.4. Я не знаю, когда эта функция была введена, но вам может потребоваться обновление, если у вас ее нет и вы не можете установить плагин SQLScripts.

Инструкции по установке нового плагина можно найти по адресу: http://squirrel -sql.sourceforge.net / руководство пользователя / quick_start.html # plugins

Но если вы выполняете новую установку Squirrel, вы можете просто выбрать плагин "SQLScripts" во время установки.

Вот длинная версия:


  1. Запустить запрос

    Подключение к базе данных. Нажмите на вкладку SQL. Введите ваш запрос. Нажмите кнопку запуска (или Ctrl-Enter).

    Вы должны увидеть первые 100 строк или около того в области результатов в нижней половине панели (в зависимости от настройки параметра Limit Rows).

  2. Экспорт полный результаты

    Откройте меню Session. Выберите элемент Scripts (почти внизу этого длинного меню). Выберите Store Result of SQL in File.

    Откроется диалоговое окно, в котором вы можете настроить экспорт. Убедитесь, что вы отметили Export the complete result set, чтобы получить все.


Я не пробовал это с набором результатов из 3 миллионов строк, но я заметил, что Squirrel, кажется, передает данные на диск (а не читает их все в память перед записью), поэтому я не вижу никакой причины почему он не будет работать с произвольно большим файлом.

Обратите внимание, что вы можете экспортировать напрямую в файл, используя Ctrl-T, чтобы вызвать всплывающее окно инструментов и выбрав sql2file.

5 голосов
/ 28 июня 2012

Я нашел способ сделать это, в Squirrel есть хорошая поддержка для этого. Запустите SQL select (ограничение в 100 строк будет игнорироваться экспортером, не беспокойтесь). Затем в главном меню выберите «Сессия», «Сценарии», «Сохранить результат SQL в файле». Эта функциональность может отсутствовать по умолчанию, она может присутствовать в каком-то стандартном плагине (но не установлена ​​по умолчанию). Я не знаю, какой плагин все же.

3 голосов
/ 03 декабря 2011

Я также хотел экспортировать результаты запроса SQL в файл CSV, используя SquirrelSQL. Однако согласно файлу изменений кажется, что эта функциональность не поддерживается даже в SquirrelSql 3.3.0.

До сих пор мне удавалось экспортировать только данные, показанные в «таблице результатов» SQL-запроса, щелкнув правой кнопкой мыши таблицу> Экспорт в CSV. Размер таблицы по умолчанию составляет 100 строк, как и экспорт CSV. Вы можете изменить размер таблицы в Свойства сеанса> SQL> Ограничить строки. Например. измените размер на 10000, и ваш экспорт также будет содержать 10000 строк. Вопрос в том, как SquirrelSql будет справляться с действительно большими результирующими наборами (миллионы строк) ...

3 голосов
/ 23 февраля 2010

Запустите из вашего графического интерфейса:

COPY (SELECT * FROM some_table) TO '/some/path/some_table.csv' WITH CSV HEADER

0 голосов
/ 04 августа 2013

Использование Squirrel 3.5.0 «Сохранить результат SQL как файл» отлично подходит, если у вас есть только простой запрос Select. Более сложный с параметрами не будет работать. Даже попытка экспортировать результат из 600 000+ строк в файл CSV также может дать сбой.

...