gpt4 book ai didi

mysql - 在所有数据库中查找列

转载 作者:可可西里 更新时间:2023-11-01 07:49:02 26 4
gpt4 key购买 nike

如果我有一个包含多个表的数据库 some_database,例如:

table_one
table_two
table_three

在哪里

table_oneCPV_one

table_twoCPV_two

table_threeCPV_three

我需要找到所有包含 '%CPV%' 列的表

这个可以通过sql查询来完成?我想避免一张一张地检查所有表格。

最佳答案

您可以查询 information_schema 以获取数据库中具有匹配列名的每个表的列表:

SELECT
TABLE_NAME, COLUMN_NAME

FROM
information_schema.COLUMNS

WHERE
TABLE_SCHEMA = 'SOME_DATABASE'
AND COLUMN_NAME LIKE '%CPV%'

EDIT(仅选择 TABLE_NAME 列)
正如评论中指出的那样,如果您只想选择表的名称(没有匹配的列列表),您还应该使用 DISTINCT 关键字 - 否则将返回重复的行对于匹配的每一列的同一张表:

SELECT
DISTINCT TABLE_NAME
FROM
information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'SOME_DATABASE'
AND COLUMN_NAME LIKE '%CPV%'

关于mysql - 在所有数据库中查找列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12710256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com