在 MySQL 数据库的每个表的字段中搜索文本

2021-11-20 00:00:00 mysql

我想在 MySQL 数据库的所有表的所有字段中搜索给定字符串,可能使用以下语法:

I want to search in all fields from all tables of a MySQL database a given string, possibly using syntax as:

SELECT * FROM * WHERE * LIKE '%stuff%'

有没有可能做这样的事情?

Is it possible to do something like this?

推荐答案

您可以查看 information_schema 架构.它具有所有表和表中所有字段的列表.然后,您可以使用从该表中获得的信息运行查询.

You can peek into the information_schema schema. It has a list of all tables and all fields that are in a table. You can then run queries using the information that you have gotten from this table.

涉及的表是SCHEMATA、TABLES和COLUMNS.有外键,您可以准确地构建在模式中创建表的方式.

The tables involved are SCHEMATA, TABLES and COLUMNS. There are foreign keys such that you can build up exactly how the tables are created in a schema.

相关文章