Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Executing SQL Statements from a Text File

6.5.1.5 从文本文件执行 SQL 语句

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

mysql db_name

然而,也可以将 SQL 语句放入文件中,然后告诉 mysql 从该文件读取输入。为此,创建一个文本文件 text_file,其中包含要执行的语句。然后,以以下方式调用 mysql

mysql db_name < text_file

如果您在文件的第一条语句中放置一个 USE db_name 语句,那么在命令行中不需要指定数据库名称:

mysql < text_file

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

mysql> source file_name
mysql> \. file_name

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

SELECT '<info_to_display>' AS ' ';

该语句将输出 <info_to_display>

您也可以使用 mysql--verbose 选项,该选项将在结果之前显示每个语句。

mysql 忽略输入文件开头的 Unicode 字节顺序标记(BOM)字符。以前,它会读取这些字符并将其发送到服务器,导致语法错误。BOM 的存在不会使 mysql 更改其默认字符集。要做到这一点,请使用选项,如 --default-character-set=utf8mb4

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