MySQL 搜索数据库中包含指定字段的所有表

Anson 杂记 187 次浏览 评论已关闭

要在 MySQL / MariaDB 数据库中搜索包含指定字段的表名,可以通过查询 MySQL 自带的 INFORMATION_SCHEMA 数据库 COLUMNS 表实现(这个数据库包含用户创建数据库的相关元信息,例如数据库表名、字段名、数据类型和访问权限等)。

以下是查询方法:

# 登录 SQL Shell
mysql -u root -p

# 运行查询命令(红色部分为要查询的字段名称)
SELECT TABLE_SCHEMA 数据库, TABLE_NAME 数据表, COLUMN_NAME 字段名 FROM information_schema.COLUMNS WHERE COLUMN_NAME = 'testname';

# 模糊查询命令(查询 testname 开头字段名)
SELECT TABLE_SCHEMA 数据库, TABLE_NAME 数据表, COLUMN_NAME 字段名 FROM information_schema.COLUMNS WHERE COLUMN_NAME LIKE 'testname%';

# 模糊查询命令(查询 testname 结尾字段名)
SELECT TABLE_SCHEMA 数据库, TABLE_NAME 数据表, COLUMN_NAME 字段名 FROM information_schema.COLUMNS WHERE COLUMN_NAME LIKE '%testname';

# 模糊查询命令(查询包含 testname 字段名)
SELECT TABLE_SCHEMA 数据库, TABLE_NAME 数据表, COLUMN_NAME 字段名 FROM information_schema.COLUMNS WHERE COLUMN_NAME LIKE '%testname%';

# 退出 SQL Shell
exit