4.5.1.5 从文本文件执行 SQL 语句

mysqlClient 端通常以交互方式使用,如下所示:

shell> mysql db_name

但是,也可以将 SQL 语句放入文件中,然后告诉mysql从该文件中读取其 Importing。为此,创建一个文本文件* text_file *,其中包含要执行的语句。然后调用mysql,如下所示:

shell> mysql db_name < text_file

如果将USE db_name语句作为文件中的第一条语句,则无需在命令行上指定数据库名称:

shell> mysql < text_file

如果已经在运行mysql,则可以使用source命令或\.命令执行 SQL 脚本文件:

mysql> source file_name
mysql> \. file_name

有时,您可能希望您的脚本向用户显示进度信息。为此,您可以插入如下语句:

SELECT '<info_to_display>' AS ' ';

显示的语句输出<info_to_display>

您还可以使用--verbose选项调用mysql,这会使每个语句在产生结果之前显示。

mysql忽略 Importing 文件开头的 Unicode 字节 Sequences 标记(BOM)字符。以前,它会读取它们并将其发送到服务器,从而导致语法错误。 BOM 的存在不会导致mysql更改其默认字符集。为此,请使用诸如--default-character-set=utf8之类的选项调用mysql

有关批处理模式的更多信息,请参见第 3.5 节“在批处理模式下使用 mysql”