怎么判断sqlite3中某个表是否已经存在

如题所述

可以查询sqlite_master表。该表是用来保存当前数据库中创建的所有表,索引,触发器。该表含有5个字段,分别是type,name,tbl_name,rootpage,sql.意义分别如下:

type:类型,可以为table,index,trigger
name:名称,为对应表,索引,触发器名称
tbl_name:未索引,触发器对应表名
rootpage:为对应表,索引在数据库中存储的根页号
sql:创建的sql语句

至此,我们可以使用如下语句进行查询:
select * from sqlite_master where name='你的表名';
如果有,就会返回数据,否则不返回。

另外也可以用下面方法
pragma table_info('你的表名');
用来查询你的表结构,如果有,就会返回你的表结构,如果没有该表,则不返回值

还可以使用如下方法:
select * from 你的表名 where 1=0;
如果有该表,你执行的sql语句不会报错,如果没有,则你执行的sql语句会报错,这样也能判断。

温馨提示:答案为网友推荐,仅供参考
相似回答