Как я понимаю наличие таблицы можно проверить так
C++ (Qt)
QSqlDatabase db = QSqlDatabase::addDatabase(bla-bla)
QStringList dbtables = db.tables(QSql::Tables);
if (dbtables.contains( tr("table1"), Qt::CaseInsensitive)) {
}
А как проверить пустая она или нет? Только делать select?