SQLite内置表SQLITE_MASTER

一、概述

1.SQLite数据库中有一个内置表,名为SQLITE_MASTER,此表中存储着当前数据库中所有表的相关信息,比如表的名称、用于创建此表的sql语句、索引、索引所属的表、创建索引的sql语句等。

2.SQLITE_MASTER表示只读的,只能对他进行读操作,写操作只能由系统自身触发,使用者没有权限。所有对用户自定义表的结构修改操作,会自定更新到此表。

二、SQLITE_MASTER表的结构如下:

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

三、应用场景

1.查询表信息
如果要查询表的信息,则type字段为“table”,name字段为表的名称,返回结果中返回的sql字段,为创建此表的sql语句。
select * from sqlite_master where type=’table’ and name=‘表名’;

2.查询索引信息
如果要查询索引信息,则type字段为“index”,name字段为索引名称,返回结果中的tbl_name字段为该索引所属的表,sql字段为创建此索引的sql语句。
select * from sqlite_master where type=’index’ and name=‘索引名’;

四、临时表

临时表不包含在SQLITE_MASTER表中,SQLITE_TEMP_MASTER专门用来存储临时表的信息,此表和SQLITE_MASTER表的结构一致。

转载:
https://blog.csdn.net/jingcheng345413/article/details/70155254

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 多个应用程序或者同一个应用程序的多个例程能同时存取同一个数据库文件吗? 多进程可以同时打开同一个数据库,也可以同时...
    woshishui1243阅读 4,304评论 0 0
  • SQLite 是一个开源的嵌入式关系型数据库,是一个自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎...
    派派森森阅读 4,709评论 0 5
  • 最近由于sqlite数据库操作不当出了一些问题,主要是由于升级导致的,具体原因不说了,总结一下在这次修复过程中总结...
    XCG00阅读 4,655评论 0 2
  • 1. APP开发期间的数据库 在上一篇文章中封装了GreenDaoManager中有个构造方法如下: 其中注释掉的...
    闲庭阅读 10,208评论 6 11
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,728评论 28 53