SQL查询,用于从通配符等于某个值的所有表中选择所有行

时间:2014-01-25 21:46:00

标签: php mysql sql

如何使用此SELECT * FROM * WHERE % = 'name'之类的查询来浏览数据库中name的所有表?

1 个答案:

答案 0 :(得分:0)

你的select语句缺少一列。 所以也许像SELECT * FROM * WHERE $ col ='%name';

在php(比如bash)之外快速而肮脏的回答是

  • 第一步找到db中的表。表= mysql -uuser -psecret MYDB -B -e 'show tables'|sed -e '2,$p'
  • 第2步;使用$ tables var。
  • 使用select语句替换FROM * with for循环遍历表
    • 迭代时,
    • 步骤2.5将变量中的结果收集为数组或映射。
  • 第3步;检查那张地图。

除非$ col在所有表格中都很常见,否则这个问题都没有意义。