在mysql中,我们如何用另一个表中的数据查询一个表的列名?

0 人关注

如果有人能帮助我

我有一个场景,我需要从一个表中获取col name(没有数据只有col name),然后在另一个表中的数据中搜索这些col name。

我可以手动操作,比如取一个col的名字,然后在另一个表中用like搜索,我看到它存在。 但是,有人能帮助我知道我们如何能写一个SQL脚本来处理这个问题。

mysql
database
Waseem Mir
Waseem Mir
发布于 2022-02-02
2 个回答
Piyush Kachhadiya
Piyush Kachhadiya
发布于 2022-02-02
0 人赞同

SQL :

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'TableName'

MYSQL

SELECT `COLUMN_NAME` 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='yourdatabasename'
AND `TABLE_NAME`='yourtablename';
Ejaz Arain
Ejaz Arain
发布于 2022-02-02
0 人赞同

如果你想比较整个数据库,可以这样做,你也可以把它限制在单个表中

 SELECT * FROM
        (SELECT 
                    c.TABLE_SCHEMA_S,
                    c.TABLE_SCHEMA_D,
                    c.TABLE_NAME_S,
                    c.TABLE_NAME_D,
                    GROUP_CONCAT(c.COLUMN_NAME)  COLUMN_NAMES
                (SELECT DISTINCT
                    a.TABLE_SCHEMA TABLE_SCHEMA_S,
                    b.TABLE_SCHEMA TABLE_SCHEMA_D,
                    a.TABLE_NAME TABLE_NAME_S,
                    b.TABLE_NAME TABLE_NAME_D,
                    b.COLUMN_NAME
                information_schema.COLUMNS a
            INNER JOIN information_schema.COLUMNS b ON a.TABLE_NAME = b.TABLE_NAME
                AND a.COLUMN_NAME = b.COLUMN_NAME