如何从 MySQL 数据库中搜索列名? [复制]
Posted
技术标签:
【中文标题】如何从 MySQL 数据库中搜索列名? [复制]【英文标题】:How to search a column name from a MySQL database? [duplicate] 【发布时间】:2016-07-05 00:28:53 【问题描述】:我正在运行一个巨大的数据库,其中包含如此多的表,并且表具有如此多的列。
我的数据库是 mysql,我必须搜索特定的列。
在 MySQL 中有没有一种方法可以从数据库中的所有表中搜索列名?
【问题讨论】:
如果您需要搜索列名,那么您的表格设计很可能是错误的。您可以更改它吗?如果可以,您需要提示如何更改吗? 我发誓,我还没有创建 DB Mr @juergend @lad2025 - 我的数据库中有很多表,我必须搜索特定的列,而且很难去每个表并检查列。如果这很容易,我没有在这里发布我的问题:) 我说这很容易/很难。不要把它当作个人的。问题就是问题,显然是重复的。如果您认为我错了,您可以重新投票或添加问题meta.***.com @lad2025 非常感谢您的回复,我并没有认真对待它,我只是想解释一下我的情况。没有难受的感觉。 【参考方案1】:从 INFORMATION_SCHEMA COLUMNS Table
查询
select table_name, column_name
from information_schema.columns
where column_name like '%search_keyword%'; -- change search_keyword accordingly
或者,如果您想搜索确切的列名,则不需要LIKE
。
where column_name = 'column_name_to_be_find';
【讨论】:
感谢@Ullas 的快速回复,但我的数据库中有很多表,我必须搜索特定的列,而且很难找到每个表并检查列名。跨度> @RishiVishwakarma :您无需为每个表搜索列名。【参考方案2】:试试这个:
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('columnA','ColumnB')
AND TABLE_SCHEMA='YourDatabase';
【讨论】:
以上是关于如何从 MySQL 数据库中搜索列名? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SQL 中只知道一个表的列名来搜索表的名称? [复制]
DataGrip - 如何在没有列名的情况下从结果集中复制数据?