Spec-Zone .ru
спецификации, руководства, описания, API
|
В предыдущих разделах Вы использовали mysql в интерактивном режиме, чтобы ввести запросы и просмотреть результаты. Можно также выполнить mysql в пакетном режиме. Чтобы сделать это, поместите команды, которые Вы хотите выполнить в файле, затем сказать mysql читать свой ввод из файла:
shell> mysql < batch-file
Если Вы выполняете mysql под Windows и имеете некоторые специальные символы в файле, которые вызывают проблемы, можно сделать это:
C:\> mysql -e "source batch-file
"
Если Вы должны определить параметры соединения на командной строке, команда могла бы быть похожей на это:
shell>mysql -h
Enter password:host
-uuser
-p <batch-file
********
Когда Вы используете mysql этот путь, Вы создаете файл сценария, затем выполняя сценарий.
Если Вы хотите, чтобы сценарий продолжался, даже если некоторые из операторов в нем производят ошибки, следует
использовать --force
параметр командной строки.
Почему использование сценарий? Вот несколько причин:
Если Вы работаете, запрос неоднократно (скажите, каждый день или каждую неделю), делая это, сценарий позволяет Вам избежать перепечатывать это каждый раз, когда Вы выполняете это.
Можно генерировать новые запросы от существующих, которые подобны, копируя и редактируя файлы сценария.
Пакетный режим может также быть полезным, в то время как Вы разрабатываете запрос, особенно для многолинейных команд или последовательностей многократного оператора команд. Если Вы делаете ошибку, Вы не должны перепечатать все. Только отредактируйте свой сценарий, чтобы исправить ошибку, затем скажите mysql выполнять это снова.
Если у Вас есть запрос, который производит большой вывод, можно выполнить вывод через пейджер вместо того, чтобы наблюдать, что он прокручивает от вершины Вашего экрана:
shell> mysql < batch-file
| more
Можно поймать вывод в файле для дальнейшей обработки:
shell> mysql < batch-file
> mysql.out
Можно распределить свой сценарий другим людям так, чтобы они могли также выполнить команды.
Некоторые ситуации не учитывают интерактивное использование, например, когда Вы выполняете запрос от cron задания. В этом случае следует использовать пакетный режим.
Выходной формат значения по умолчанию отличающийся (более краткий), когда Вы выполняете mysql в пакетном режиме чем тогда, когда Вы используете это в
интерактивном режиме. Например, вывод SELECT DISTINCT species FROM pet
похож на
это, когда mysql выполняется в интерактивном режиме:
+---------+| species |+---------+| bird || cat || dog || hamster || snake |+---------+
В пакетном режиме вывод похож на это вместо этого:
speciesbirdcatdoghamstersnake
Если Вы хотите получить интерактивный выходной формат в пакетном режиме, использовать mysql
-t
. Чтобы отозваться эхом к выводу, команды, которые выполняются, используют mysql
-vvv
.
Можно также использовать сценарии от подсказки mysql при использовании source
команда или \.
команда:
mysql>source
mysql>filename
;\.
filename
См. Раздел 4.5.1.5, "Выполняя SQL-операторы от Текстового файла", для получения дополнительной информации.