sql | sqlite3的sqlite_master表探究

sqlite之sqlite_master

sqlite数据库中有比较重要的一张表就是sqlite_master表。

使用如下命令查看表结构:

.schema sqlite_master

结果如下:

sqlite> .schema 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;

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

所以如果想要知道一张表是否存在的话,可以查询sqlite_master这张表就可以了。

参考:https://blog.csdn.net/xingfeng0501/article/details/7804378

其他

P.S.有一些sqlite的小技巧
优化输出:

sqlite>.header on
sqlite>.mode column
sqlite>.timer on

本文来自博客园,作者:Mz1,转载请注明原文链接:https://www.cnblogs.com/Mz1-rc/p/15380735.html

如果有问题可以在下方评论或者email:mzi_mzi@163.com

原文地址:https://www.cnblogs.com/Mz1-rc/p/15380735.html