在前面的部分中,你以交互方式使用mysql
输入语句并查看结果,你也能够在批处理模式下运行mysql
,为此,将要运行的语句放在文件中,而后告诉mysql
从文件中读取其输入:mysql
shell> mysql < batch-file
若是你在Windows下运行mysql
并在文件中有一些致使问题的特殊字符,你能够这样作:sql
C:\> mysql -e "source batch-file"
若是须要在命令行上指定链接参数,则命令可能以下所示:shell
shell> mysql -h host -u user -p < batch-file Enter password: ********
当你以这种方式使用mysql
时,你将建立一个脚本文件,而后执行该脚本。数据库
若是你但愿脚本继续运行,即便其中的某些语句产生错误,你应该使用--force
命令行选项。segmentfault
为何要使用脚本?缘由以下:命令行
mysql
再次执行它。若是你有一个产生大量输出的查询,你能够经过寻呼机运行输出,而不是看着它从屏幕顶部滚动:code
shell> mysql < batch-file | more
你能够捕获输出到文件中以进行进一步处理:ci
shell> mysql < batch-file > mysql.out
在批处理模式下运行mysql
时,默认输出格式与交互使用时的默认输出格式不一样(更简洁)。例如,当交互式运行mysql
时,SELECT DISTINCT species FROM pet
的输出以下所示:开发
+---------+ | species | +---------+ | bird | | cat | | dog | | hamster | | snake | +---------+
在批处理模式下,输出看起来像这样:get
species bird cat dog hamster snake
若是要以批处理模式获取交互式输出格式,请使用mysql -t
,要回显输出执行的语句,请使用mysql -v
。
你还可使用source
命令或\.
命令从mysql
提示符中使用脚本:
mysql> source filename; mysql> \. filename