/
Вопросы и ответы
/
SQL
/

Как из sql выгрузить в excel

Как из sql выгрузить в excel

5 лет назад

Человек-Молекула

Ответы

0

Есть несколько способов выгрузки данных из SQL в Excel. Рассмотрим несколько из них:

  1. Используйте функцию экспорта в Excel в среде управления базами данных. Некоторые программы, такие как Microsoft SQL Server Management Studio, MySQL Workbench или phpMyAdmin, позволяют экспортировать результаты SQL-запросов в формате Excel. Для этого необходимо выполнить SQL-запрос, затем выбрать опцию экспорта в Excel в меню программы.

  2. Используйте SQL-запрос, который выводит результаты в формате CSV, а затем откройте CSV-файл в Excel. Для этого выполните SQL-запрос с использованием ключевого слова INTO OUTFILE, чтобы сохранить результаты запроса в CSV-файл. Например:

1
2
3
4
5
SELECT * FROM таблица
INTO OUTFILE 'путь_к_файлу.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

После выполнения этого запроса CSV-файл будет сохранен в указанном каталоге. Откройте Excel и выберите опцию "Открыть файл", затем выберите CSV-файл и откройте его в Excel.

4 года назад

Алексей Алешин

0

Самый простой путь — выгрузить результат запроса в CSV и открыть файл в Excel. Способ зависит от СУБД и инструмента.

PostgreSQL

В консоли psql:

1
\copy (SELECT id, name, total FROM orders WHERE total > 1000) TO 'orders.csv' WITH (FORMAT csv, HEADER)

\copy сохраняет файл на вашем компьютере. Команда COPY без обратной косой черты пишет файл на сервер базы данных и требует прав суперпользователя.

MySQL

1
2
3
4
5
SELECT id, name, total
FROM orders
INTO OUTFILE '/var/lib/mysql-files/orders.csv'
FIELDS TERMINATED BY ';' ENCLOSED BY '"'
LINES TERMINATED BY '\n';

MySQL пишет файл только в папку из настройки secure_file_priv. Узнать её: SHOW VARIABLES LIKE 'secure_file_priv';.

Через графический клиент

  • DBeaver: правый клик по результату запроса → Экспорт данных → формат XLSX или CSV.
  • SQL Server Management Studio: правый клик по таблице результатов → Save Results As → CSV.
  • pgAdmin: кнопка Download as CSV над результатом запроса.
  • MySQL Workbench: кнопка Export над результатом запроса.

Excel сам забирает данные из базы

Данные → Получить данные → Из базы данных → нужная СУБД. Excel запомнит подключение, и таблицу можно обновлять кнопкой Обновить все. Для PostgreSQL и MySQL нужен ODBC-драйвер.

Через Python

1
2
3
4
5
6
import pandas as pd
from sqlalchemy import create_engine

engine = create_engine('postgresql://user:password@localhost/shop')
df = pd.read_sql('SELECT * FROM orders', engine)
df.to_excel('orders.xlsx', index=False)  # нужен пакет openpyxl

Удобно, если выгрузку нужно повторять по расписанию.

Если в Excel кракозябры или всё в одном столбце

  • Кириллица не читается. Сохраните CSV в кодировке UTF-8 с BOM или откройте файл через Данные → Из текстового/CSV-файла и выберите UTF-8.
  • Все данные в одном столбце. Русский Excel ждёт разделитель ;. Выгрузите CSV с точкой с запятой или укажите разделитель при импорте.

Запросы с фильтрами и выборкой нужных столбцов разбирают в бесплатном курсе «Основы SQL».

7 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845