gpt4 book ai didi

mysql - 结合 DROP USER 和 DROP DATABASE 与 SELECT .. WHERE 查询?

转载 作者:行者123 更新时间:2023-11-29 02:02:34 25 4
gpt4 key购买 nike

我想做一个非常简单的东西,replicate the functionality of mysql's interactive mysql_secure_installation script .我的问题是,在 MySQL 中是否有一种简单的内置方法可以将 SELECT 查询的输出与 DROP 用户或 DROP 数据库脚本的输入相结合?

例如,如果我想删除所有密码为空的用户。我怎么能用 DROP USER 语句做到这一点?我知道一个明显的解决方案是运行所有内容,例如从 Python 脚本,

  1. 使用 mysql -Bse "select..." 运行查询
  2. 用一些程序解析输出
  3. 构造放置查询
  4. 运行它。

有没有一种简单的方法可以在简单的 SQL 查询中做到这一点?我在这里看到了一些例子,但我不会称之为简单:https://stackoverflow.com/a/12097567/518169

您会推荐进行组合查询,还是仅使用 Python 或 bash 脚本/sed 来解析输出?

最佳答案

您可以动态构建 SQL,例如:

SELECT CONCAT('DROP USER ', GROUP_CONCAT(QUOTE(User), '@', QUOTE(Host)))
INTO @sql
FROM mysql.user
WHERE PASSWORD = ''

然后 prepare a statement来自它:

PREPARE stmt FROM @sql

然后执行该语句:

EXECUTE stmt

最后,释放准备好的语句:

DEALLOCATE PREPARE stmt

关于mysql - 结合 DROP USER 和 DROP DATABASE 与 SELECT .. WHERE 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12342448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com