sqlite的系统表sqlite_master

转载 2012年07月31日 09:27:12
SQLite数据库中一个特殊的名叫 SQLITE_MASTER 上执行一个SELECT查询以获得所有表的索引。每一个 SQLite 数据库都有一个叫 SQLITE_MASTER 的表, 它定义数据库的模式。 SQLITE_MASTER 表看起来如下:

CREATE TABLE sqlite_master ( 
type TEXT, 
name TEXT, 
tbl_name TEXT, 
rootpage INTEGER, 
sql TEXT 
); 
对于表来说,type 字段永远是 ‘table’,name 字段永远是表的名字。所以,要获得数据库中所有表的列表, 使用下列SELECT语句:

SELECT name FROM sqlite_master 
WHERE type=’table’ 
ORDER BY name; 
对于索引,type 等于 ‘index’, name 则是索引的名字,tbl_name 是该索引所属的表的名字。 不管是表还是索引,sql 字段是原先用 CREATE TABLE 或 CREATE INDEX 语句创建它们时的命令文本。对于自动创建的索引(用来实现 PRIMARY KEY 或 UNIQUE 约束),sql字段为NULL。

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

临时表不会出现在 SQLITE_MASTER 表中。临时表及其索引和触发器存放在另外一个叫 SQLITE_TEMP_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

SQLite内置表SQLITE_MASTER

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

sqlite的系统表sqlite_master介绍

SQLite数据库中一个特殊的名叫 SQLITE_MASTER 上执行一个SELECT查询以获得所有表的索引。每一个 SQLite 数据库都有一个叫 SQLITE_MASTER 的表, 它定义数据库的...

SQLite数据库中系统表介绍及应用相关

作者:Val        首先使用sqlite manager工具将课堂实验中建立的数据库people.db打开,观察其结构。sqlite-manager是firefox上的一个插件,用来...

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

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

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

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

sqlite查看所有表名、判断表是否存在,字段名及字段信息

sqlite查看所有表名及字段名 查询table,type 段是'table',name段是table的名字, select name from sqlite_master where type...

SQLite学习笔记(15)-B-tree(1)

B-Tree B-tree的主要功能就是索引,它维护着各个页面之间的复杂的关系,便于快速找到所需数据。 B-Tree使得VDBE可以在O(logN)下查询,插入和删除数据,以及O(1)下双向遍历结...
  • zzmgood
  • zzmgood
  • 2015年09月04日 16:21
  • 1006

《RAIDExpert阵列恢复专家 V2.3.25专业版》

RAIDExpert阵列恢复专家是一款集RAID参数自动分析、RAID重组功能与一身的智能化RAID恢复软件,它在无视文件系统的情况下,支持RAID5、HP双循环及部分RAID5EE、RAID6的参数...
  • ddl007
  • ddl007
  • 2011年10月18日 17:31
  • 1258

SQLite: sqlite_master系统表,可以判断某个表是否存在,存在哪些表

SQLite数据库中一个特殊的名叫 SQLITE_MASTER 上执行一个SELECT查询以获得所有表的索引。每一个 SQLite 数据库都有一个叫 SQLITE_MASTER 的表, 它定义数据库的...
  • xxcios
  • xxcios
  • 2013年07月26日 14:24
  • 3756

android-sqlite-links-demo-master

  • 2015年09月15日 17:53
  • 5.45MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sqlite的系统表sqlite_master
举报原因:
原因补充:

(最多只允许输入30个字)