在SQLite数据库中存在一张特殊的系统表sqlite_master(或者在一个临时数据库中被叫做sqlite_temp_master),该表存储了完整的数据库架构信息,表结构定义类似于如下方式:
create table sqlite_master( type text, name text, tbl_name text, rootpage integer, sql text );
除了表sqlite_master自身外,在SQLite数据库中的每张数据表都会在sqlite_master表中记录一条数据,其记录的type字段值为“table”以表明该条数据记录的信息为数据表,而在name字段中则记录了数据表的名称,因此我们可以通过查询sqlite_master表来获取SQLite数据库中数据表的信息:
一、查询sqlite_master表数据:
select * from sqlite_master;
二、查询所有的数据表:
select name from sqlite_master where type = 'table';
三、通过查询已知名称的数据表数量来判断数据表是否存在:
select count(*) from sqlite_master where type = 'table' and name = '[数据表名]';
更多信息请参阅:File Format For SQLite Databases