加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite系统表介绍(查询数据库中所有的表 查询表中的所有字段)

发布时间:2020-12-12 19:46:22 所属栏目:百科 来源:网络整理
导读:每一个 SQLite 数据库都有一个叫 SQLITE_MASTER 的表, 里面存储着 数据库的数据结构(表结构、视图结构、索引结构等),只可以对他使用查询语句 SQLITE_MASTER 表DDL信息如下: CREATE TABLE sqlite_master (type TEXT,name TEXT,tbl_name TEXT,rootpage INT


每一个 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=’table’ ORDER BY name;

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

SELECT name FROM sqlite_master WHERE type=’index’ ORDER BY name;
对于视图来说,type 等于 ‘view’,name 则是视图的名字,tbl_name 是该视图所属的表的名字, 使用下列SELECT语句:
SELECT name FROM sqlite_master WHERE type=’view’ ORDER 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字段中获取


每一个 SQLite 数据库都有一个叫SQLITE_TEMP_MASTER的表存储着临时表及其索引和触发器临时表不会出现在 SQLITE_MASTER 表中。SQLITE_TEMP_MASTER 跟 SQLITE_MASTER 差不多, 但它只是对于创建那些临时表的应用可见。如果要获得所有表的列表, 不管是永久的还是临时的,可以使用类似下面的命令:

SELECT name FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE type=’table’ ORDER BY name;

查询视图或索引只需把table修改成view或index即可



每一个 SQLite 数据库都有一个叫ANDROID_METADATA的表 存储着语言和地域信息,虽然简单但必不可少。如被其不小心删除,可以手工创建一个ANDROID_METADATA

ANDROID_METADATA表DDL信息如下

CREATE TABLE android_metadata(locale text);


创建完表后需插入一行数据

insertinto android_metadata(locale) values("zh_CN");




每一个 SQLite数据库都有一个叫SQLITE_SEQUENCE的表 里面存储着用户表中的自动增长字段的信息

SQLITE_SEQUENCE表DDL信息如下

CREATE TABLE SQLITE_SEQUENCE(name TEXT,seq INTEGER);


详细使用资料

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读