Вам нужно создать таблицу на основе существующей?
Или заполнить данными на основе существующей?
Или все вместе?
Первое не знаю точно но врят ли получится т.к. кроме названия полей в БД таблицах есть первичные, вторичные ключи, индексы и т.д. - эту информацию врят ли через Qt драйвер вытащишь...
Второе легче:
только там нужен Insert а не Create
читаем всю таблицу:
QSqlQuery query("select val1, val2, valN from TABLE");
query.exec();
QSqlRecord rec = query.record();
проходим по нй и вставляем в другую:
QSqlQuery insQuery;
insQuery.prepare("insert into NEW_TABLE(val1, val2, valN) values(:val1, :val2, :valN)");
while (query.next())
{
insQuery.bindValue(":val1", query.value( rec.indexOf("val1") ) );
insQuery.exec();
}
и т.д.
P.S. код не проверял - так для примера