SQL查询从通配符列等于值的所有表中选择所有行[重复]

Posted

技术标签:

【中文标题】SQL查询从通配符列等于值的所有表中选择所有行[重复]【英文标题】:SQL query to select all rows from all tables where a wildcard column equals a value [duplicate] 【发布时间】:2014-02-16 20:42:18 【问题描述】:

如何使用SELECT * FROM * WHERE % = 'name' 之类的查询来扫描我的数据库中的所有表以查找name

【问题讨论】:

【参考方案1】:

您的选择语句缺少一列。 所以可能像 SELECT * FROM * WHERE $col = '%name';

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

第一步找到数据库中的表。表=mysql -uuser -psecret MYDB -B -e 'show tables'|sed -e '2,$p' 第 2 步;使用 $tables var 将您的 select 语句替换为 FROM * 来迭代表。 步骤 2.5 迭代时将结果收集到一个变量中作为数组或映射。 第三步;检查那张地图。

这一切都说了,除非 $col 在所有表中都是通用的,否则这个问题没有意义。

【讨论】:

以上是关于SQL查询从通配符列等于值的所有表中选择所有行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

编写 SQL 查询,选择除同时在三列中具有指定值的行之外的所有行

使用数组的 MySQL 查询

Transact-SQL计算整个表中所有值的出现的次数

从不同的相关记录组中选择两列之一中包含重复值的所有行

SQL同列多过滤器

sql查询字段中所有等于某些值的数据