返回介绍

DO

发布于 2020-10-26 07:01:29 字数 1707 浏览 1054 评论 0 收藏 0

DO 语句用于执行表达式,但不返回任何结果。大部分情况下,DO 相当于不返回结果的 SELECT expr, ...,

注意:

DO 只能执行表达式,所以不是所有能够用 SELECT 的地方都能用 DO 替换。例如 DO id FROM t1 就是不是合法的 SQL 语句,因为它引用了一张表。

DO 在 MySQL 中的一个主要应用场景是存储过程或者触发器。因为 TiDB 当前不支持存储过程和触发器,所以 DO 的实际使用场景较少。

语法图

DoStmt:

DoStmt

ExpressionList:

ExpressionList

Expression:

Expression

示例

这条 SELECT 语句会暂停执行,但同时也会返回一个结果集。

SELECT SLEEP(5);
+----------+
| SLEEP(5) |
+----------+
|        0 |
+----------+
1 row in set (5.00 sec)

如果使用 DO 的话,语句同样会暂停,但不会返回结果集。

DO SLEEP(5);
Query OK, 0 rows affected (5.00 sec)
DO SLEEP(1), SLEEP(1.5);
Query OK, 0 rows affected (2.50 sec)

MySQL 兼容性

DO 语句与 MySQL 完全兼容。如发现任何兼容性差异,请在 GitHub 上提交 issue

另请参阅

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文