SQLite中的系统表列表

时间:2010-05-18 15:08:16

标签: sqlite

我试图根据它们是系统表还是用户生成的表来过滤SQLite数据库中的所有表。

到目前为止,我发现它们是带有 sqlite _ 前缀和AllDataTypes的那些。

有人做过这样的事吗?有他们的清单吗?

提前致谢。

3 个答案:

答案 0 :(得分:17)

只有一个系统表具有任何后果。

select * from sqlite_master

但您可以从sqlite_sequence

获取一些有用的信息

答案 1 :(得分:7)

我认为它可以按名称过滤(正如您已经完成的那样)

我用过脚本

SELECT 
  name, type
FROM 
  sqlite_master
WHERE 
  type in ('table', 'view')
AND 
  name not like 'sqlite?_%' escape '?'

答案 2 :(得分:1)

sqlite_autoindex_TABLE_N - 它将在普通表上具有UNIQUE和PRIMARY KEY约束信息。

sqlite_statN - 其中N是整数。此类表存储由ANALYZE命令收集的数据库统计信息,并由查询计划程序用于帮助确定用于每个查询的最佳算法。

来源:https://www.sqlite.org/fileformat2.html

sqlite_user - 如果我们设置了需要身份验证的数据库,则会出现此表。

来源:http://www.sqlite.org/src/doc/trunk/ext/userauth/user-auth.txt