获取表名:

可以通过JDBC的DatabaseMetaData类获取表名,示例代码如下:

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
DatabaseMetaData metaData = conn.getMetaData();
ResultSet rs = metaData.getTables(null, null, null, new String[] {"TABLE"});
while (rs.next()) {
    String tableName = rs.getString("TABLE_NAME");
    System.out.println("Table name: " + tableName);
}

其中,getTables()方法的四个参数分别对应schema、catalog、table name pattern和types,这里将types设为"TABLE"表示只获取表。

获取表注释:

可以通过查询INFORMATION_SCHEMA.TABLES表获取表注释,示例代码如下:

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT TABLE_NAME, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test'");
while (rs.next()) {
    String tableName = rs.getString("TABLE_NAME");
    String tableComment = rs.getString("TABLE_COMMENT");
    System.out.println("Table name: " + tableName + ", Table comment: " + tableComment);
}

其中,INFORMATION_SCHEMA.TABLES表存储了数据库中所有表的元数据信息,通过查询该表并指定TABLE_SCHEMA为数据库名称,可以获取该数据库中所有表的信息。

获取列名、列注释和列的数据类型:

可以通过查询INFORMATION_SCHEMA.COLUMNS表获取列名、列注释和列的数据类型,示例代码如下:

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT COLUMN_NAME, COLUMN_COMMENT, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'user'");
while (rs.next()) {
    String columnName = rs.getString("COLUMN_NAME");
    String columnComment = rs.getString("COLUMN_COMMENT");
    String dataType = rs.getString("DATA_TYPE");
    System.out.println("Column name: " + columnName + ", Column comment: " + columnComment + ", Data type: " + dataType);
}

其中,INFORMATION_SCHEMA.COLUMNS表存储了所有表的列信息,通过指定TABLE_SCHEMA和TABLE_NAME可以获取指定表的列信息


原文地址: https://www.cveoy.top/t/topic/eIrL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录