请问如何根据某个特定字段column的值查询所在的库和表?

php中文网
发布: 2016-06-23 14:13:15
原创
1058人浏览过

MySQL SQL

请问对于mysql>=5,  如果知道一个字段column名为book_name的值为eng-chi-dictionary,请问如何查询到这个字段所在的库名和表名? sql 语句是?
谢谢

回复讨论(解决方案)

 select  * from information_schema.columns where COLUMN_NAME='eng-chi-dictionary';

COLUMN_NAME应该是book_name
book_name的值是eng-chi-dictionary,我现在是知道有个book_name叫做eng-chi-dictionary,请问如何找到schema_name  table_name

eng-chi-dictionary 是字段值吧
 select  * from information_schema.columns where COLUMN_NAME='book_name';

select  * from information_schema.columns where COLUMN_NAME='book_name'; 


这个确实可以,但是就是不能一次性定位,因为当库和表比较多时,可能有很多表中列的COLUMN_NAME为book_name


现在就是找一次性定位的语句。

一次性定位的语句!
虽然我们没有那么高的水平,不能说一定没有
但是象 phpmyadmin 这样的专业团队在实现“搜索”功能时,也是用 php 循环来完成的。
可见没有这样的语句是“真的”
见 db_search.php 文件

不懂你的’一次性定位‘是指什么?

因为当库和表比较多时,可能有很多表中列的COLUMN_NAME为book_name
请注意看返回的列,不是有库名和表名。这还不够清楚吗

我的意思是只找出eng-chi-dictionary是在哪个库的那个表下面的book_name的值。

select  * from information_schema.columns where COLUMN_NAME='book_name'; 

这个应该是找出所有列名为book_name的。但是我还是无法确定eng-chi-dictionary是在哪里?

select  * from information_schema.columns where COLUMN_NAME='book_name';
可以得到所有有字段 book_name 的表
其中:
TABLE_SCHEMA 为隶属的库
TABLE_NAME 为表名

你需要遍历这个查询结果,逐个表查找 book_name 是否含有 eng-chi-dictionary

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号