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

15.2.3 DO 语句

DO expr [, expr] ...

DO 执行表达式,但不返回任何结果。在大多数情况下,DOSELECT expr, ... 的简写形式,但它有一个优势,即当您不关心结果时,它的速度略快。

DO 主要用于具有副作用的函数,例如 RELEASE_LOCK()

示例:这个 SELECT 语句暂停,但也生成结果集:

mysql> SELECT SLEEP(5);
+----------+
| SLEEP(5) |
+----------+
|        0 |
+----------+
1 row in set (5.02 sec)

DO,另一方面,暂停不生成结果集:

mysql> DO SLEEP(5);
Query OK, 0 rows affected (4.99 sec)

这可能在存储函数或触发器中很有用,因为它们禁止生成结果集的语句。

DO 只执行表达式。它不能在所有可以使用 SELECT 的情况下使用。例如,DO id FROM t1 是无效的,因为它引用了表。