我想知道如何判断某个数据库表中是否存在具有特定名称的列。我正在使用JDBC,但如果可以使用纯SQL,那就更好了。但是,解决方案必须独立于DBMS提供者。我想我可以通过查询表的第一行并从中获取ResultSetMetaData来做到这一点,但这假设表中有一行。我希望它也能用于空表。提前谢谢!
答案 0 :(得分:12)
您可以从DatabaseMetaData
获取它们。
DatabaseMetaData meta = connection.getMetaData();
ResultSet rs = meta.getColumns(...);
答案 1 :(得分:2)
表是否为空并不重要。 ResultSetMetaData仍会为您提供有关ResultSet对象中列的类型和属性的信息。
答案 2 :(得分:2)
您可以使用java.sql.DatabaseMetaData接口检索有关数据库结构的常规信息。
DatabaseMetaData dbmeta = con.getMetaData();
调用getColumns(),获取可用的表列的描述。