如何从 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 - 如何在没有列名的情况下从结果集中复制数据?

如何将列名打印为mysql中的行数? [复制]

MacOS 上的 Python 3.6 和 MySQL 8.0.21:如何给表 camelCase 列名? [复制]

如果 mySQL 中的表中存在列名/字段名,则搜索数据库

Mysql中具有相同列名的表之间的数据复制