MySQL如何识别某个列是否存在于所有表中?

2023年 9月 1日 69.4k 0

MySQL如何识别某个列是否存在于所有表中?

要识别列名,请在MySQL中使用INFORMATION_SCHEMA.COLUMNS。以下是语法 -

select table_name,column_name
from INFORMATION_SCHEMA.COLUMNS
where table_schema = SCHEMA()
andcolumn_name='anyColumnName';

登录后复制

Let us implement the above query in order to identify a column with its existence in all tables. Here, we are finding the existence of column EmployeeAge −

mysql> select table_name,column_name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = SCHEMA()
AND column_name='EmployeeAge';

登录后复制

This will produce the following output displaying the tables with specific column “EmployeeAge” −

+---------------+-------------+
| TABLE_NAME | COLUMN_NAME |
+---------------+-------------+
| demotable1153 | EmployeeAge |
| demotable1297 | EmployeeAge |
| demotable1303 | EmployeeAge |
| demotable1328 | EmployeeAge |
| demotable1378 | EmployeeAge |
| demotable1530 | EmployeeAge |
| demotable1559 | EmployeeAge |
| demotable1586 | EmployeeAge |
| demotable1798 | EmployeeAge |
| demotable1901 | EmployeeAge |
| demotable511 | EmployeeAge |
| demotable912 | EmployeeAge |
+---------------+-------------+
12 rows in set (0.00 sec)

登录后复制

为了证明,让我们检查上述任何一个表的描述 −

mysql> desc demotable1153;

登录后复制

这将产生以下输出,显示在demotable1153中存在EmployeeAge列 −

+--------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+----------------+
| EmployeeId | int(11) | NO | PRI | NULL | auto_increment |
| EmployeeName | varchar(40) | YES | MUL | NULL | |
| EmployeeAge | int(11) | YES | | NULL | |
+--------------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

登录后复制

以上就是MySQL如何识别某个列是否存在于所有表中?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论