#### 4.5.1.5 从文本文件执行 SQL 语句

[](<>)[](<>)[](<>)[](<>)[](<>)[](<>)[](<>)[](<>)[](<>)

这[**mysql**](mysql.html)客户端通常以交互方式使用，如下所示：

```
mysql db_name
```

但是，也可以将您的 SQL 语句放在一个文件中，然后告诉[**mysql**](mysql.html)从该文件中读取其输入。为此，请创建一个文本文件*`文本文件`*包含您希望执行的语句。然后调用[**mysql**](mysql.html)如此处所示：

```
mysql db_name < text_file
```

如果你放置一个`采用 *`数据库名称`*`语句作为文件中的第一条语句，无需在命令行中指定数据库名称：

```
mysql < text_file
```

如果您已经在运行[**mysql**](mysql.html)，您可以使用`资源`命令或`\。`命令：

```
mysql> source file_name
mysql> \. file_name
```

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

```
SELECT '<info_to_display>' AS ' ';
```

显示的语句输出`<info_to_display>`.

你也可以调用[**mysql**](mysql.html)与[`--详细`](mysql-command-options.html#option_mysql_verbose)选项，这会导致每个语句显示在它产生的结果之前。

[**mysql**](mysql.html)忽略输入文件开头的 Unicode 字节顺序标记 (BOM) 字符。以前，它读取它们并将它们发送到服务器，导致语法错误。BOM 的存在不会导致[**mysql**](mysql.html)更改其默认字符集。为此，调用[**mysql**](mysql.html)有一个选项，例如[`--默认字符集=utf8`](mysql-command-options.html#option_mysql_default-character-set).

有关批处理模式的更多信息，请参阅[第 3.5 节，“在批处理模式下使用 mysql”](batch-mode.html).
