2016-02-01 5 views
0

Я извлекаю данные из баз данных MYSQL с помощью .bat-файла. Файл летучей мыши имеет следующую структуру:Экспорт данных со сложными запросами командной строки mysql

mysql.exe -b -r -u USER -pPASSWORD DATABASE -h IP -e "QUERY" > "PATH\example.txt" 

Моя проблема связана с сложными запросами. У меня есть запрос wit multiples join, а другой со звездочкой, но не работает. Я отлично умею запускать запросы в Navicat, но в командной строке, подобной приведенному выше, невозможно. Это способ запускать эти запросы без изменения методологии командной строки ?.

Запросы обычно имеют внутреннее соединение и слева присоединяется

+0

Вы могли бы сделать текстовый файл, содержащий ваши запросы и запустить файл с 'mysql' команды, а затем перенаправить вывод, как вы показали –

+0

Да имеют следующую ошибку: ERROR в строке 1: Неизвестная команда '\ U' Я удалил все разрывы строк и разрывы абзацев. –

+0

Вы используете его как 'mysql mysql.out'? Читайте здесь http://dev.mysql.com/doc/refman/5.7/ru/batch-mode.html –

ответ

1

Вместо предоставления запроса через флаг -e valulation в виде строки, вы можете предоставить файл SQL скрипт вместо этого для повторного использования, а затем направить, что в качестве стандарта-в который должен быть исполнен mysql, затем направьте стандартную версию, как вы делали.

Все-в-все, что-то вроде этого

shell> mysql -b -s -r --username=USER --password=PASSWORD -h HOST db_name <script.sql> output.tab 
Смежные вопросы