【发布时间】:2013-06-23 15:39:17
【问题描述】:
我有一个巨大的数据库和一个列名,我不确定它是否存在于我的任何表中。 如何检查它的存在?
【问题讨论】:
-
VladH 在我的回答中指出,这就是他正在寻找的 - 如果可以重新措辞以反映这一点,我觉得它会不那么广泛。他甚至指出他的问题是不知道哪个表确切地包含该列。
-
我编辑了你的帖子以保持一切清晰。
标签: mysql
我有一个巨大的数据库和一个列名,我不确定它是否存在于我的任何表中。 如何检查它的存在?
【问题讨论】:
标签: mysql
SELECT * FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'db_name'
AND COLUMN_NAME = 'column_name'
【讨论】:
WHERE 子句以满足您的需求 - 很高兴它为您服务!
如果您需要检查所有表格,您可能必须先列出表格:
SHOW TABLES FROM database_name;
然后,遍历表(在代码中,例如 PHP),并执行以下查询:
SHOW COLUMNS FROM database_name.table_name LIKE 'mycol';
如果该列存在于表中,这将返回一个结果。
您也可以直接从 information_schema 中选择,但我发现在 MySQL 和大型数据库的某些情况下这会非常慢。
【讨论】:
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('columnA','ColumnB')
AND TABLE_SCHEMA='YourDatabase';
please check above code with your database
【讨论】:
【讨论】:
使用信息架构
select *
from information_schema.tables
where table_name = 'employee'
and table_schema = 'test';
【讨论】: