• На главную
  • Услуги
    • Разработка сайтов и магазинов
    • Ремонт сайта
    • Мониторинг
    • Настройка и администрирование
  • Продукты
    • МеждуВещье
    • Архив
  • Наши работы
    • Сайты
    • Оборудование и автоматизация
  • Информация
    • О наc
    • Новости
    • Публикации
    • Условия
    • Сертификаты
    • Контакты
  • Пользователям
    • Войти в систему
    • Регистрация
Celere Systems

Своей работой ускоряем Вашу!

CONTACT

info@celere.ru

+7(952)81-37-468

Информация. Публикации

Выгрузка результата sql-запроса в csv

Ноя 19 2015

К списку статей

Выгрузка результата sql - запроса в csv из командной строки (MySQL, Percona, Maria и т.д.).
Опишу два способа:
Не заходя в mysql, непосредственно из командной строки:
mysql -uлогинвбазу -p -h localhost -Dимябазы -ss -e "select  items.name as itname, items.key_ as itkey, items.state as itstate,  triggers.description as trigdescr, triggers.expression as trigex,  hosts.host as zhhost, hosts.name as zhname, applications.name as aplname  from  items, triggers, hosts, functions, applications,  items_applications  where  items.hostid=hosts.hostid  and functions.itemid = items.itemid  and functions.triggerid = triggers.triggerid  and hosts.status in (0, 1) and items.flags in (0, 4) and triggers.flags IN (0,4) and items.itemid=items_applications.itemid and items_applications.applicationid=applications.applicationid; " | sed 's/"/""/g;s/\t/","/g;s/.*/"\0"/' > yourdump.csv
в итоге sed перелопатит выхлоп селекта и в файл yourdump.csv запишутся данные в формате, приемлемом для excell (open office)
 
Способ второй - из mysql непосредственно. Более корректный.
И так, заходим: mysql -uлогин -pпароль
Выбираем базу: use имябд;
Ну и, собственно, выполняем тот же селект, но дописываем к нему кой-чего еще :-)
 
select 
items.name as itname, items.key_ as itkey, items.state as itstate, 
triggers.description as trigdescr, triggers.expression as trigex,
hosts.host as zhhost, hosts.name as zhname, applications.name as aplname
from
items, triggers, hosts, functions, applications, items_applications
where
items.hostid=hosts.hostid
and functions.itemid = items.itemid
and functions.triggerid = triggers.triggerid
and hosts.status=3 and items.flags in (0, 4) and triggers.flags IN (0,4)
and items.itemid=items_applications.itemid
and items_applications.applicationid=applications.applicationid
INTO OUTFILE '/tmp/hit_templates.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
Указывать можно свои разделители, свой путь и тд.
в итоге выгрузится результат выполнения в /tmp/hit_templates.csv .
 
Да, кстати, почему здесь /tmp/ папка: для того чтобы не заморачиваться с правами на запись.

О нас

Celere systems - команда специалистов с большим опытом работы в области разработки интернет-проектов, телекоммуникаций, оборудования и различного программного обеспечения.

Меню

  • На главную
  • Условия
  • О наc
  • Контакты

Мы в соцсетях

  • Facebook
  • Vkontakte
  • Twitter
  • Youtube

Наши преимущества

• Многолетний опыт работы наших специалистов в телекоммуникационных компаниях (Ростелеком, МТС);
• Разрабатываем собственные программные продукты на многофункциональном ядре CELERE marchitect;
• Наши сотрудники сертифицированные специалисты Zabbix;
• Разрабатываем с нуля оборудование, ПО, игры;
• Имеем собственное облако для целей контроля, сбора статистики и управления автоматизацией.

© 2012 - 2025 Celere Systems (cms Celere Marchitect)