如何在数据库任意表的任意字段中查询某关键字?使用Navicat数据库客户端软件的【在数据库或模式中查找】工具轻松实现
发布:智码IT网 阅读:
有的系统,数据库表特别多,比如存放民族、政治面貌等配置项的表。以民族为例,我们知道肯定有表存放了诸如"藏"的民族,但是在那个表就不清楚了,有没有什么办法能解决这个问题?
如果有数据的说明文档当然容易了,当然最原始的一个表一个表的打开肯定是不可取的,万一表有几百张呢?设计程序来遍历数据库所有表的所有行是个有效的办法,但是也挺费力的,今天给大家推荐Navicat的一个叫"在数据库或模式中查找"功能,即可轻松快速的解决这个问题。
打开Navicat软件,双击连接要查询的数据库,然后执行功能菜单:工具 -- 在数据库或模式中查找,会看到一个新打开的选项卡,如下图所示:
选项卡分为左右两部分,左侧用于填写参数,右侧则是查询结果窗格。
比如我们要在一个叫testMySQL数据库的任意表中查询包含"天气"关键的记录,则可以在【查找字符串】文本框处填写"天气"关键字,【查找范围】设置为"数据",【搜索模式】设置为"包含",点击【查找】按钮开始查找。很快,就查出结果,如下图所示:
可以看到,在tbtest表中匹配到一处"天气"关键字的记录,双击这个结果,Navicat会给我们生成一个查询结果的SQL脚本:
SELECT * FROM `test`.`tbtest` WHERE CAST(`test`.`tbtest`.`F1` AS CHAR CHARACTER SET utf8) COLLATE utf8_general_ci LIKE '%天气%' OR CAST(`test`.`tbtest`.`F2` AS CHAR CHARACTER SET utf8) COLLATE utf8_general_ci LIKE '%天气%'
Navicat会执行该脚本并显示出执行结果,如下图所示:
除了可以模糊查询数据外,Navicat还支持模糊查询数据库结构信息,查询范围包括且不限于表名称、视图名称、函数名称、字段名称、字段注释等,只需要在【查找范围】处选中“结构”选项即可,如下图所示:
搜索模式也可以进行灵活的设置,如下如所示:
可以看出,Navicat真不愧为一款使用简单,性能高效,但是功能强大的优秀软件。