检查表是否存在
问题描述:
我有一个嵌入了数据库的桌面应用程序。当我执行我的程序时,我需要检查特定的表是否存在,或者如果不存在则创建它。
I have a desktop application with a database embedded in it. When I execute my program I need to check that specific table exists, or create it if not.
给定一个名为conn的Connection对象作为我的数据库,我怎么能检查这个?
Given a Connection object named conn for my database, how could I check this?
答
您可以使用可用的元数据:
You can use the available meta data:
DatabaseMetaData meta = con.getMetaData();
ResultSet res = meta.getTables(null, null, "My_Table_Name",
new String[] {"TABLE"});
while (res.next()) {
System.out.println(
" "+res.getString("TABLE_CAT")
+ ", "+res.getString("TABLE_SCHEM")
+ ", "+res.getString("TABLE_NAME")
+ ", "+res.getString("TABLE_TYPE")
+ ", "+res.getString("REMARKS"));
}
参见 。另请注意 JavaDoc 。