关于SQLite中获取数据表Table信息的说明

在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

发表回复