如何从数据库中检查表中是否存在列?

时间:2013-06-26 13:15:16

标签: mysql

我有一个巨大的数据库和一个列名,我不确定它是否存在于我的任何表中。 我该如何检查它的存在?

5 个答案:

答案 0 :(得分:2)

SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'db_name'
AND COLUMN_NAME = 'column_name'

答案 1 :(得分:2)

如果您需要检查所有表格,可能必须先列出表格:

SHOW TABLES FROM database_name;

然后,遍历表(在代码中,例如PHP),并执行此查询:

SHOW COLUMNS FROM database_name.table_name LIKE 'mycol';

如果表中存在列,则返回结果。

您也可以直接从information_schema中选择,但我发现在某些情况下MySQL和大型数据库的速度非常慢。

答案 2 :(得分:1)

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

答案 3 :(得分:0)


SELECT * FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME ='table_name' AND COLUMN_NAME = 'col_name'

答案 4 :(得分:0)

使用信息架构

select *
from information_schema.tables
where table_name = 'employee'
and table_schema = 'test';