使用Java 获取 表名 表注释 列名 列注释 和列的数据类型
获取表名:
可以通过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 著作权归作者所有。请勿转载和采集!