Подтвердить что ты не робот

Как сохранить результат SQL-запроса в файле CSV с помощью Squirrel?

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

4b9b3361

Ответ 1

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

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

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

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

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

Здесь длинная версия:


  • Запустить запрос

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

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

  • Экспортировать полные результаты

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

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


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

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

Ответ 2

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

Ответ 3

Выполнить из графического интерфейса пользователя:

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

Ответ 4

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

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

Ответ 5

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