检查表是否存在

检查表是否存在

问题描述:

我有一个嵌入了数据库的桌面应用程序。当我执行我的程序时,我需要检查特定的表是否存在,或者如果不存在则创建它。

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