我可以编写一个查询来搜索在DB中有特定列的表
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME like '%A'
但我的问题是:
我可以在整个数据库中搜索列中的值吗? 所以我不确定列的名称,我不确定数据库表的名称,但我知道值是'活动'
答案 0 :(得分:1)
是的,你可以。在这种情况下,您需要在获得表列表后准备动态查询,这些列包含实际您正在查找的列。
现在为
创建一个游标SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME like '%A'
使用上面的光标循环
SET @s = CONCAT("select count(*) from [tablename] where [columnname] like ","'%SOMETHING%'");
PREPARE stmt FROM @s
execute stmt;
DEALLOCATE PREPARE stmt;