Dan*_*ett 2 mysql mysql-workbench
我有一个针对没有 GUI 的数据库运行的脚本。这个简单的查询让我看到它的进展:
select
*,
(select count(*) from domains) as count,
(select 456976-count(*) from domains) as remaining
from domains
order by domain desc
limit 0, 1;
Run Code Online (Sandbox Code Playgroud)
使用 MySQL Workbench,如何每隔几秒自动刷新/重新运行此查询?
我试过谷歌搜索,但没有想出任何相关的东西。
旁白:幻数 456,976 是 26^4;它与脚本有关。
您没有说明您使用的是什么操作系统,但在 Linux/OSX 和其他类 Unix 系统下,您可以使用带有非常标准watch实用程序的 mysql 命令行工具来执行此操作。就像是:
watch -n 10 'mysql --database=dbname --user=username --password=$(cat /path/to/file/with/mysql/password) --execute="select *, (select count(*) from domains) as count, (select 456976-count(*) from domains) as remaining from domains order by domain desc limit 0, 1;"'
Run Code Online (Sandbox Code Playgroud)
打破它:
watch -n 10 '<stuff>'<stuff>每 10 秒运行一次并回显进入stdout控制台窗口的任何内容,要运行的命令周围的单引号告诉您的 shell 在发出命令之前不要运行任何通配符通配符或其他替换watch(我们希望这种情况发生当watch运行命令)mysql --database=dbname --user=username --password=password 使用给定的身份验证详细信息针对给定的数据库运行命令行工具$(cat /path/to/file/with/mysql/password))读取密码,而不是直接给它的命令行上停止你的密码被呈现给任何人看的输出top或ps(这就是为什么我们使用单引号:没有他们,这种替代会之前完成watch是在控制中,因此真正的密码将在watch运行结果命令时出现在进程列表中)--execute=<stuff>告诉命令行工具运行<stuff>然后立即退出(否则它会登录并等待您输入命令/查询/语句)。SELECT陈述。每次watch运行该mysql命令时,它都会输出结果watch并将它们绘制在您的屏幕上。更多详情:
mysql 命令行语法watch 命令手册页watch 带有动画示例输出的命令示例mysql命令行使用示例(简单搜索中的第一个示例,因此如果您需要/想要它们,您会找到更多示例)