1、列出当前db文件中所有的表的表名
SQL语句:SELECT * FROM sqlite_master WHERE type='table';
结构如下:
注:网上有人说可以带上db文件的名称,如:
SELECT * FROM dbname.sqlite_master WHERE type='table'; 但我试了不行。。。难道我姿势不对~
2、判断某表是否存在
SQL语句:select count(*) from sqlite_master where type='table' and name='表名'
如果返回的数量大于0,表名该表存在
3、将某列所有数值去重后获得数量
SQL语句:SELECT COUNT (DISTINCT 列名) FROM 表名
前提是该表必须存在。
------------------------------------------------------------------------- -------------------------------------------------------------------------
每条CREATE TABLE语句的文本都储存在 sqlite_master 表中。
每当数据库被打开,所有的CREATE TABLE语句从 sqlite_master 表中读出,构成表结构的SQLite内部实现。
若原始命令为CREATE TABLE AS则合成出等效的 CREATE TABLE语句并储存于sqlite_master 表中代替原命令。
CREATE TEMPORARY TABLE语句文本储存于 sqlite_temp_master 表中。