*注释 columnName 字段名 dbName 数据库名

1. 查询拥有某个字段的所有表

  1. SELECT DISTINCT
  2. TABLE_NAME
  3. FROM
  4. information_schema.COLUMNS
  5. WHERE
  6. COLUMN_NAME = 'asset_code'
  7. AND TABLE_SCHEMA = 'dbName'
  8. AND TABLE_NAME NOT LIKE 'vw%';

如果要排除试图,在条件上再加:

  1. AND TABLE_NAME NOT LIKE 'vw%' 注释:排除视图

2. 查询指定数据库所有的表名

  1. SELECT
  2. table_name
  3. FROM
  4. information_schema.TABLES
  5. WHERE
  6. table_schema = 'dbName'
  7. AND table_type = 'base table';

3. 查询数据库没有某字段的所有表

  1. SELECT
  2. table_name
  3. FROM
  4. information_schema.TABLES
  5. WHERE
  6. table_schema = 'dbName'
  7. AND table_type = 'base table'
  8. AND TABLE_NAME NOT IN (
  9. SELECT DISTINCT TABLE_NAME FROM information_schema.COLUMNS
  10. WHERE COLUMN_NAME = 'culumnName'
  11. AND TABLE_SCHEMA = 'dbName'
  12. AND TABLE_NAME NOT LIKE 'vw%'
  13. );