SQLite内置表SQLITE_MASTER

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jingcheng345413/article/details/70155254
一、概述

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表的结构一致。

猜你喜欢

转载自blog.csdn.net/jingcheng345413/article/details/70155254
今日推荐