select count(*) from
sqlite_master where type='table' and
name='MyTable';
-------------------------------------------------------------------------
每条CREATE TABLE语句的文本都储存在 sqlite_master 表中。每当数据库被打开,所有的CREATE
TABLE语句从 sqlite_master 表中读出,构成表结构的SQLite内部实现。若原始命令为CREATE TABLE
AS则合成出等效的 CREATE TABLE语句并储存于sqlite_master 表中代替原命令。CREATE TEMPORARY
TABLE语句文本储存于 sqlite_temp_master 表中。
ps:
若是用QSqlQuery来操作,则应如下:
QString tableName = "MyTable";
QSqlQuery query;
query.exec(QString("select count(*) from sqlite_master where
type='table' and name='%1';).arg(tableName) );
if(query.next())
{
if(query.value(0).toInt() == 0) //not exist
{
//do something
}
else
//existed
{
//do something
}
}