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

rjm*_*mcb 17 mysql sql database

如果mysql中的表中存在列名/字段名,有没有办法搜索数据库?

Dhr*_*hak 20

使用INFORMATION_SCHEMA数据库及其表.

例如:

    SELECT *
FROM   information_schema.columns
WHERE  table_schema = 'MY_DATABASE'
       AND column_name IN ( 'MY_COLUMN_NAME' );  
Run Code Online (Sandbox Code Playgroud)


Ste*_*fan 6

SHOW COLUMNS FROM tablename LIKE 'columnname'
Run Code Online (Sandbox Code Playgroud)

玩得开心 !:-)

更新:

正如评论中所提到的,这只搜索一个表,而不是整个数据库(每个表).在这种情况下,请参阅DhruvPathak的答案.

  • 那只会搜索1个表而不是整个数据库. (2认同)
  • 嗯好吧 - 我确实理解了某个列是否在某个表中的问题! (2认同)

vik*_*iii 6

如果你想在整个数据库中搜索,那么你应该尝试

SELECT * 
FROM information_schema.COLUMNS 
WHERE 
    TABLE_SCHEMA = 'db_name' 
AND COLUMN_NAME = 'column_name'
Run Code Online (Sandbox Code Playgroud)

如果你想在特定的表中搜索,那么你应该尝试

SELECT * 
FROM information_schema.COLUMNS 
WHERE 
    TABLE_SCHEMA = 'db_name' 
AND TABLE_NAME = 'table_name' 
AND COLUMN_NAME = 'column_name'
Run Code Online (Sandbox Code Playgroud)