DatabaseMetaData 有关整个数据库的信息:表名、表的索引、数据库产品的名称和版本、数据库支持的操作。
如:dbmd.getColumns(null, “%”, “student”, “%”);可以获得student表的所有信息,返回一个ResultSet数据集,对其进行遍历可以得到很多东西,以下指示几个简单的例子
while (rs.next()) {
//得到的结果集每一项代表的详细含义的可以看源码,如第4项是表中的列名/第6项是每一列的类型
System.out.print(rs.getObject(4));
System.out.println("\t"+rs.getObject(6));
System.out.print(rs.getString("COLUMN_NAME")+" "); // 列名
System.out.print(rs.getString("TYPE_NAME")); // 列类型
System.out.print(" "+rs.getString("COLUMN_SIZE")); // 规定的长度
System.out.println(" "+rs.getString("NULLABLE")); // 是否可以为空
System.out.println(" "+rs.getString("IS_AUTOINCREMENT")); // 是否可以自增
System.out.println(" "+rs.getString("REMARKS")); // 列注释
System.out.println("********");
}
ResultSet 关于某个表的信息或一个查询的结果。必须逐行访问数据行,但是可以任何顺序访问列。