我有一个巨大的数据库和一个列名,我不确定它是否存在于我的任何表中。 我该如何检查它的存在?
答案 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';