如何在 MySQL / MariaDB 中查询数据库中带有某个字段/列名的所有表名

A kitten
蒋川
B 端产品经理,卡拉云联合创始人
阅读时长 1 分钟

如何在 MySQL / MariaDB 中查询数据库中带有某个字段/列名的所有表名

某些场景下,我们需要查询数据库中含有「某字段名/列名」的所有表,或者查找全局所有数据库中含有「某字段名/列名」的所有库。

这时候我们就要用到 MySQL 自带的 INFORMATION_SCHEMA 库中的 COLUMNS 表才查询。

我们之前介绍过如何查看 MySQL 数据库、表容量大小 ,也是通过 INFORMATION_SCHEMA 库来完成查询的。

准备数据

打开你的 MySQL Server ,将以下代码复制到命令行中执行。此段代码创建了 3 个库,3 个表及多个类似名称的列名(字段名) 本教程后文的示例中,会使用这些数据演示。

CREATE DATABASE IF NOT EXISTS kalacloud_01;

USE kalacloud_01;

CREATE TABLE users_01 (
id INT PRIMARY KEY AUTO_INCREMENT,
mail VARCHAR(255) NOT NULL
);

CREATE DATABASE IF NOT EXISTS kalacloud_02;

USE kalacloud_02;

CREATE TABLE users_02_01 (
id INT PRIMARY KEY AUTO_INCREMENT,
nickname VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL
);

CREATE TABLE users_02_02 (
id INT PRIMARY KEY AUTO_INCREMENT,
nickname VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL
);

CREATE DATABASE IF NOT EXISTS kalacloud_03;

USE kalacloud_03;

CREATE TABLE users_03 (
id INT PRIMARY KEY AUTO_INCREMENT,
gmail VARCHAR(255) NOT NULL
);

CREATE DATABASE IF NOT EXISTS kalacloud_04;

USE kalacloud_04;

CREATE TABLE users_04 (
id INT PRIMARY KEY AUTO_INCREMENT,
hotmail VARCHAR(255) NOT NULL
);

查询数据库中带有某个字段的所有表名

SELECT TABLE_SCHEMA 库名,TABLE_NAME 表名, COLUMN_NAME 列名
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'nickname';

返回结果:

查询数据库中带有某个字段的所有表名

查询数据库中带有某个模糊字段的所有表名

SELECT TABLE_SCHEMA 库名,TABLE_NAME 表名, COLUMN_NAME 列名
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%mail%';

返回结果:

查询数据库中带有某个模糊字段的所有表名

总结

MySQL 自带的 INFORMATION_SCHEMA 库中可以查询数据库的许多基础信息。比如本教程所讲解的所有数据库的特定列名搜索,又或者是数据库容量大小的查询

接着推荐一下卡拉云,只要你会写 MySQL ,就能使用卡拉云搭建自己的数据工具,比如,数据看板,企业 CRM、ERP,权限管理后台,对账系统等。

卡拉云是新一代低代码开发工具,免安装部署,可一键接入包括 MySQL 在内的常见数据库及 API。可根据自己的工作流,定制开发。无需繁琐的前端开发,只需要简单拖拽,即可快速搭建企业内部工具。数月的开发工作量,使用卡拉云后可缩减至数天,欢迎免费试用卡拉云

卡拉云可一键接入常见的数据库及 API

卡拉云可一键接入常见的数据库及 API

卡拉云可根据公司工作流需求,轻松搭建数据看板或其他内部工具,并且可一键分享给组内的小伙伴。

使用卡拉云轻松搭建企业内部工具

下图为使用卡拉云在 5 分钟内搭建的「优惠券发放核销」后台,仅需要简单拖拽即可快速生成前端组件,只要会写 SQL,便可搭建一套趁手的数据库工具。欢迎免费试用卡拉云

使用卡拉云在 5 分钟内搭建的「优惠券发放核销」后台

更多数据库相关教程可访问 卡拉云 查看。如果你还有什么疑问,欢迎一起讨论。我的微信 HiJiangChuan。

卡拉云联合创始人蒋川的微信

有关 MySQL 教程,可继续拓展学习:

© 2021 卡拉云 Built with ❤️ in Beijing

京ICP备15049164号-9