使用批处理的方式使用MySQL

    如果你是在Windows下运行mysql,文件里的一些特定字符会引起一些问题,你要这样做:

    如果你需要在命令行指定连接参数,命令应该是这样子的:

    如果你想让脚本继续执行,尽管有些语句在执行过程中出现错误,你应该使用—force命令行选项。

    为什么要使用一个脚本?这里有一些原因:

    • 如果你想重复地运行一个查询(比如每天或每星期),写成一个脚本可以让你避免每次执行的时候重新输入。
    • 你可以从已有相似的脚本中,通过复制和编辑这些脚本,从而产生一些新的查询。
    • 当你正在开发一个查询,尤其是那种多行语句或多行语句的序列,批处理模式也是有用的。如果你犯了一个错误,你不需要重新输入每件事。你仅仅需要编辑脚本修正错误,然后告诉mysql重新执行。
    • 如果你有一个查询,这个查询会产生许多输出,你可以通过分页展出输出,而不是用滚动条滚动你的屏幕。shell> mysql < batch-file | more
    • 你可以分发你的脚本给其他人,使得他们也可运行这些语句。
    • 一些不允许交互使用的情况,比如,当你执行一个计划任务的查询。在这种情况下,你必须使用批处理模式。
      当你以批处理方式执行mysql的时候,默认的输出格式(更加简洁)是不同于当你交互地使用mysql。例如,当使用交互的方式执行mysql,SELECT DISTINCT species FROM pet的输出是像这样的:
    1. +---------+
    2. | species |
    3. | cat |
    4. | dog |
    5. | hamster |
    6. +---------+

    如果你在批处理模式的时候,想得到交互型模式的输出格式,使用mysql -t。要在输出中显示执行的语句,使用mysql -v

    你也可以在mysql命令行,通过使用.命令来使用脚本:

    1. mysql> \. filename