mysql 如何在整个数据库中搜索一个值?

mysql 如何在整个数据库中搜索一个值?

就是遍历一个数据库的每张表的每个记录的每个字段,看这个字段是否包含 “X”。

有没有人能给出示例sql代码?或者phpmyadmin有没有提供相应的功能?

阅读 34.6k
3 个回答

mysql的information_schema.COLUMNS记录了所有表的原始数据信息, 包括字段名, 类型什么的. 考虑到你的需求是找到所有含有'X'的记录, 那么你可能需要两步走了.

  1. 设数据库名为db_name

    select `TABLE_NAME`, `COLUMN_NAME` from `information_schema`.`COLUMNS` where `TABLE_SCHEMA`=db_name
    and DATA_TYPE in ('char', 'varchar', 'text', 'tinytext', 'mediumtext', 'longtext', 'blob');
  2. 拿到结果集, 构造多个sql语句, 再次查询

导出sql, 然后Ctrl + f

推荐问题