如何在 MySQL Workbench 的所有表中搜索特定列名?

Pie*_*tro 19 mysql mysql-workbench

在 MySQL Workbench 中,是否可以在所有表​​中搜索特定列名?

(在右上角的字段中编写要查找的字符串没有任何作用)。

谢谢你。

ype*_*eᵀᴹ 29

你可以特别使用INFORMATION_SCHEMA数据库和COLUMNS表的使用示例:

SELECT 
    table_name, 
    column_name, 
    data_type,
    ordinal_position

FROM  INFORMATION_SCHEMA.COLUMNS 

WHERE table_schema = 'myDatabase'     --- the database you want to search 
  AND column_name = 'name' ;          --- or: column_name LIKE '%name%' 
Run Code Online (Sandbox Code Playgroud)


Rol*_*DBA 10

要扩展@ypercube 的答案(他得到 +1),如果您不知道该表所在的数据库,请执行以下操作:

SELECT 
    table_schema,
    table_name, 
    column_name, 
    data_type,
    ordinal_position

FROM  INFORMATION_SCHEMA.COLUMNS 

WHERE column_name = 'name' ;          --- or: column_name LIKE '%name%' 
Run Code Online (Sandbox Code Playgroud)


小智 6

在 MySQL Workbench (v6.3) (Windows) 中:

  • 右键单击任意表。
  • 延迟后左键单击“表维护...”...
  • 左键单击“列”选项卡。

这显示了表、列等的可排序网格...

  • 左键单击网格标题中的“列”可对所有列名称进行排序,无论表如何。所以同名的列放在一起。

不幸的是,排序并不稳定。因此,最初按表排序,然后列不会在一组相同的列名中保留表名排序。

网格打开速度很慢,但找到列组的速度很快。

它不会跨数据库搜索。