首页 > 解决方案 > MySQL 函数(宏?)可用于所有数据库?

问题描述

我经常发现自己在做select group_concat(COLUMN_NAME separator ', ') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='<current database>' AND TABLE_NAME='<argument>';。我手动将其复制粘贴并根据需要进行更改<current database><argument>但如果我能做somescript(foo)或类似的事情会很棒,它会自动填充当前数据库并foo放入argument.

标签: mysql

解决方案


虽然 MySQL CLI 显然无法做到这一点,但我刚刚发现https://github.com/dbcli/mycli在 2017 年底的1.14.0中添加了大部分内容(当前数据库部分除外):

将位置参数添加到最喜欢的查询(感谢:Scrappy Soft)。

虽然在与 Ubuntu 18.04 捆绑的 mycli 版本中不可用(这是 WSL 附带的),但它可以从pip install mycli并且自述文件指出您“可能”需要 root,但我的经验是我不需要 sudo 但它无法找到二进制文件,我阅读https://stackoverflow.com/a/46071447/308851并运行python -m site,运行find ~/.local -name mycli,然后将生成的目录添加到PATH.


推荐阅读