sqlite 查询db文件中所有的表名
Posted Love流浪的猪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlite 查询db文件中所有的表名相关的知识,希望对你有一定的参考价值。
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 表中。
以上是关于sqlite 查询db文件中所有的表名的主要内容,如果未能解决你的问题,请参考以下文章
如何从 sqlite DB 中列出表名——Android [重复]
sqlite中SQLite查看所有表名及字段名,及判断是否存在的方法
Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段