在日常工作中,搜索特定的数据库对象,是最常见的一个工作,下面分享几个关于mysql模式查找的语句。
select table_schema as database_name, table_name from information_schema.tables where table_type = 'BASE TABLE' and table_name rlike ('[0-9]') order by table_schema, table_name;
说明:
database_name - 找到表的数据库(模式)的名称table_name - 找到的表的名称select tab.table_schema as database_name, tab.table_name from information_schema.tables as tab inner join information_schema.columns as col on col.table_schema = tab.table_schema and col.table_name = tab.table_name where tab.table_type = 'BASE TABLE' and column_name = 'idcity' order by tab.table_schema, tab.table_name;
说明:
database_name - 找到表的数据库(模式)的名称table_name - 找到的表的名称select tab.table_schema as database_name, tab.table_name from information_schema.tables tab left join information_schema.columns col on tab.table_schema = col.table_schema and tab.table_name = col.table_name and col.column_name = 'id' -- put column name here where tab.table_schema not in ('information_schema', 'mysql', 'performance_schema', 'sys') and tab.table_type = 'BASE TABLE' and col.column_name is null order by tab.table_schema, tab.table_name;
说明:
database_name - 找到的表的数据库(模式)名称table_name - 找到的表的名称