我喜欢构建一个可以在所有表中搜索完整数据库的查询。
实施例。 搜索字符串:9049 现在结果我需要来自该字符串匹配的所有表的搜索结果。 只是我不能把LIKE写到表的所有字段。
提前致谢。
答案 0 :(得分:0)
您可以执行数据库的SQLDump(及其数据),然后搜索该文件。 要么 您可以查看information_schema表。它包含表中所有表和所有字段的列表。然后,您可以使用从此表中获取的信息运行查询。
答案 1 :(得分:0)
你可以先读出所有表格:
SELECT table_name FROM information_schema.tables WHERE table_schema = 'yourdatabasename'
然后循环遍历所有表并获取所有列:
SELECT column_name FROM information_schema.columns
WHERE table_schema = 'yourdatabasename' AND table_name = 'thetablenamefromyourloop'
然后构建一个动态语句,根据您的searchterm构建WHERE
子句。
或只是获取所有信息只是读出一切。它包含有关所有表和列的所有信息,这些信息可能仅用于搜索所有varchar和text字段等。
SELECT * FROM information_schema.columns
WHERE table_schema = 'yourdatabasename'