Finding all related tables to a given table

前端 未结 4 1407
花落未央
花落未央 2021-02-02 08:36

I\'m working on a development with over 700 tables. I need to see a listing of all related tables to a given table. Can you recommend an app that is able to provide such a thing

4条回答
  •  暖寄归人
    2021-02-02 09:21

    If your database supports the information schema views (most do), then you can run this query:

    SELECT
        c.CONSTRAINT_NAME,
        cu.TABLE_NAME AS ReferencingTable, cu.COLUMN_NAME AS ReferencingColumn,
        ku.TABLE_NAME AS ReferencedTable, ku.COLUMN_NAME AS ReferencedColumn
    FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS c
    INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE cu
    ON cu.CONSTRAINT_NAME = c.CONSTRAINT_NAME
    INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE ku
    ON ku.CONSTRAINT_NAME = c.UNIQUE_CONSTRAINT_NAME
    

    This will output a list of all referential constraints (foreign keys), the source (referencing) table/column, and primary key (referenced) table/column.

    If you want to see references to a specific table, just add:

    WHERE ku.TABLE_NAME = 'SomeTable'
    

提交回复
热议问题