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文件中所有的表名的主要内容,如果未能解决你的问题,请参考以下文章

如何在python程序中查看sqlite3某数据库中的表名

如何从 sqlite DB 中列出表名——Android [重复]

在android中获取sqlite SQL join的表名

sqlite中SQLite查看所有表名及字段名,及判断是否存在的方法

SQL 查表名?

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段