如何让 MySQL 在查询中提示输入值?

k4r*_*tik 1 mysql console

我在 MySQL 控制台中对一些 SQL 查询进行了大量的试验和错误,例如

select fname, age, address from person where lname = ?;
Run Code Online (Sandbox Code Playgroud)

我希望得到一个提示,询问我 lname 的值,以便我可以轻松地使用不同的值重复查询。这 ?如果查询来自 Java 代码,则有效。

在 MySQL 控制台中是否可以,如果可以,如何实现?

Ran*_*eed 6

这不可能。

您可能想要创建一个存储过程,例如

DELIMITER //
CREATE PROCEDURE GetPerson(p_lname VARCHAR(50))
BEGIN
    SELECT fname, age, address FROM person WHERE lname = p_lname;
END //
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

然后能够

mysql> CALL GetPerson('smith');
Run Code Online (Sandbox Code Playgroud)

但这几乎是你所能做到的。

mysql客户端的目的是运行 SQL 查询(并管理服务),SQL 是一种查询语言,不用于用户交互。