我可以在一个查询中执行mysql选择,更新和删除吗?

web*_*007 5 mysql select sql-delete

我可以说优化mysql的许多方法之一是减少查询数量吗?

如果是这样,我可以这样做:

- Select "data" => $A from table X
- Update $A from table Y
- Delete $A from table X
Run Code Online (Sandbox Code Playgroud)

在一个查询中?

sym*_*ean 3

您无法减少查询的数量 - 它们都执行不同的操作 - 但您可以通过将其全部包装为 PLSQL 函数来减少数据库的往返次数和解析次数。

但是,删除数据后您将无法选择数据......但请考虑:

CREATE PROCEDURE s_u_d(a)
BEGIN

UPDATE tab_x SET tab_x.avalue=1 WHERE tab_x.another=a;

DELETE FROM tab_y WHERE tab_y.avalue=a;

SELECT * 
FROM tab_x
WHERE tab_x.another=a;

END;
Run Code Online (Sandbox Code Playgroud)

注意 - 您还可以在同一过程中运行多个选择并处理多个不同形状的结果集,例如请参阅此页面