Этот вопрос уже имеет ответ здесь:
У меня есть настольное приложение с базой данных, встроенной в него. Когда я выполняю свою программу, я должен проверить, что определенная таблица существует, или создайте ее если нет.
Учитывая названный объект Соединения ведут для моей базы данных, как я мог проверить это?
Вы можете использовать доступные метаданные:
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 .
DatabaseMetaData dbm = con.getMetaData();
// check if "employee" table is there
ResultSet tables = dbm.getTables(null, null, "employee", null);
if (tables.next()) {
// Table exists
}
else {
// Table does not exist
}