在前面的章节中,你交互式地使用mysql输入查询并且查看结果。你也可以以批模式运行mysql。为了做到这些,把你想要运行的命令放在一个文件中,然后告诉mysql从文件读取它的输入:
shell> mysql < batch-file
如果你是在Windows系统下运行,并且你的文件中有一些可能会造成问题的特殊字符,你可以这么做:
C:\> mysql -e "source batch-file"
如果你需要在命令行上指定连接参数,命令应为:
shell> mysql -h host-u user-p < batch-file
Enter password: ********
当这样操作mysql时,你先创建了一个脚本文件,然后执行脚本。
如果你想继续执行这个脚本,即使脚本中的语句可能会产生一些错误,那么你就需要使用 –force命令行选项。
为什么使用脚本?有很多原因:
shell> mysql < batch-file| more
shell> mysql < batch-file> mysql.out
当你以批模式运行mysql时,比起你交互地使用它时,其默认输出格式是不同的(更简明些)。例如,当交互式运行SELECT DISTINCT species FROM pet时,输出应为:
+---------+
| species |
+---------+
| bird |
| cat |
| dog |
| hamster |
| snake |
+---------+
但是当以批模式运行时,输出应为:
species
bird
cat
dog
hamster
snake
如果你想得到交互式的输出格式,使用 mysql -t. 为了回显以输出被执行的命令,使用mysql -vvv.
你还可以使用source命令或 .命令从mysql提示符中使用脚本:
mysql> source filename;
mysql> \. filename
更多内容请查看
Section 4.5.1.5, “Executing SQL Statements from a Text File”
原文:http://blog.csdn.net/dingding_12345/article/details/50587738