在日常工作中,搜索特定的数据库对象,是最常见的一个工作,下面分享几个关于mysql模式查找的语句。

1. 在 MySQL 数据库中查找名称中包含数字的表

selecttable_schemaasdatabase_name,table_namefrominformation_schema.tableswheretable_type='BASE TABLE'andtable_namerlike ('[0-9]')orderbytable_schema,table_name;

说明:

database_name– 找到表的数据库(模式)的名称table_name– 找到的表的名称

2. 在 MySQL 数据库中查找关于特定列名的表

selecttab.table_schemaasdatabase_name,tab.table_namefrominformation_schema.tablesastabinnerjoininformation_schema.columnsascoloncol.table_schema=tab.table_schemaandcol.table_name=tab.table_namewheretab.table_type='BASE TABLE'andcolumn_name='idcity'orderbytab.table_schema,tab.table_name;

说明:

database_name– 找到表的数据库(模式)的名称table_name– 找到的表的名称

3. 在 MySQL 数据库中查找没有特定名称的列的表

selecttab.table_schemaasdatabase_name,tab.table_namefrominformation_schema.tablestableftjoininformation_schema.columnscolontab.table_schema=col.table_schemaandtab.table_name=col.table_nameandcol.column_name='id'--putcolumnnameherewheretab.table_schemanotin ('information_schema', 'mysql','performance_schema', 'sys')andtab.table_type='BASE TABLE'andcol.column_nameisnullorderbytab.table_schema,tab.table_name;

说明:

database_name– 找到的表的数据库(模式)名称table_name– 找到的表的名称