每一个 SQLite 数据库都有一个叫 SQLITE_MASTER 的表, 里面存储着数据库的数据结构(表结构、视图结构、索引结构等),只可以对他使用查询语句

SQLITE_MASTER 表DDL信息如下:

CREATE TABLE sqlite_master (type TEXT,name TEXT,tbl_name TEXT,rootpage INTEGER,sql TEXT);  

type 类型 (如表、视图、索引等) name 名称 tbl_name 所属表名称 SQL (表、视图、索引)的DDL语句

对于表来说,type 字段永远是 ‘table’,name 字段永远是表的名字。所以,要获得数据库中所有表的列表, 使用下列SELECT语句:

SELECT name FROM sqlite_master WHERE type=’tableORDER BY name;  

对于索引来说,type 等于 ‘index’, name 则是索引的名字,tbl_name 是该索引所属的表的名字, 使用下列SELECT语句:

SELECT name FROM sqlite_master WHERE type=’indexORDER BY name;  

对于视图来说,type 等于 ‘view’, name 则是视图的名字,tbl_name 是该视图所属的表的名字, 使用下列SELECT语句:

SELECT name FROM sqlite_master WHERE type=’viewORDER BY name;  

不管是表或视图还是索引,sql 字段是原先用 CREATE TABLE 、CREATE VIEW 或 CREATE INDEX 语句创建它们时的命令文本。对于自动创建的索引(用来实现 PRIMARY KEY 或 UNIQUE 约束),sql字段为NULL。

SQLITE_MASTER 表是只读的。不能对它使用 UPDATE、INSERT 或 DELETE。 它会被 CREATE TABLE、CREATE INDEX、DROP TABLE 和 DROP INDEX 命令自动更新。

通过以下语句可查询出某个表的所有字段信息
PRAGMA table_info([tablename])

例如 PRAGMA table_info(student)

注意 PRAGMA 必须大写

当然字段信息也可以从sql字段中获取

更多相关文章

  1. Mysql查询时,对于数值型字段加单引号会引起的误解~
  2. 自定义视图(组合控件)
  3. RecycleView的多视图Epoxy库
  4. android listview多视图嵌套多视图
  5. Android - Espresso -滚动到非列表视图项。
  6. 导航架构组件 - 具有CollapsingToolbar的详细信息视图
  7. 仪表测试自定义视图
  8. 如何在Android应用里对HTTP请求头部添加适当的User-Agent字段
  9. 无法将视图添加到相对布局

随机推荐

  1. Android获取apk的版本及包名等信息
  2. Android 计算器编程实现
  3. mac 下启动Android Studio 时出现 Androi
  4. Android——文件操作
  5. android studio导入jar 后产生的 gradle
  6. 用ant实现自动打包android(二) -- android
  7. Android禁止Edittext弹出软件盘,光标依然
  8. Android Studio编译中“png-cruncher_*”
  9. Android 判断是否能真正上网
  10. Android学习笔记 --- Terms and installa