关于mysql:如何使用java计算SQL数据库中的外键数

How to count the number of foreign keys in a SQL database using java

本问题已经有最佳答案,请猛点这里访问。

如何使用java计算SQL数据库中的外键数。 我有一个数据库,里面有很多表。 我必须计算id中存在的外键总数。 我正在通过Java执行查询。


供应商可以独立地在所有表上使用DatabaseMetaData及其getExportedKeys和getImportedKeys。

1
2
3
4
5
6
7
8
9
10
DatabaseMetaData meta = conn.getMetaData();
try (ResultSet rs = meta.getExportedKeys(conn.getCatalog(), null, null)) {
    while (rs.next()) {
        String pkTable = rs.getString("PKTABLE_NAME");
        String fkTable = rs.getString("FKTABLE_NAME");
        String fkColumn = rs.getString("FKCOLUMN_NAME");
        int keySeq = rs.getInt("KEY_SEQ");
        ...
    }
}

您所要做的就是在数据库上使用Java执行以下查询。

1
2
3
4
5
6
SELECT
  TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM
  INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_SCHEMA = '<database>'

参考:如何查看表或列的所有外键?