`

sqlite3获取表的元数据

 
阅读更多
1,判断表是否存在:
SELECT  count(*) FROM `sqlite_master` WHERE `type`="table" AND `name` = "your_table_name"

`type`='view'判断视图.结果>0就是有这个表
主要是sqlite_master这个系统表,
2,建表数据:
SELECT `name`, `sql` FROM `sqlite_master` WHERE `type`="table" AND `name` = "your_table_name" 

这个结果取出来,sql字段应该就是建表语句了,通过建表语句获得其列名

在sql语句中,表名和字段名都要加上反引号,否则sqlite_master-1类似表名会报错

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`


转载地址:http://blog.sina.com.cn/s/blog_6afeac500100yn9k.html
分享到:
评论

相关推荐

    元表纪数据工具-本地数据处理的高效解决方案,可以作为SQLite的终端工具

    可以通过配置接口获取或者公开数据,也可以将数据直接分享给其他用户,可以对表数据进行拆分,可以定制故事板,等等。是一个本地数据的大数据量、大计算量、周期重复等场景的高效解决方案。 工具的本地存储采用...

    DBMetadata数据库元数据

    本工具可用于数据库表和字段的查询,以及数据库元数据的进一步使用。 目前支持以下数据库(都能正确获取注释信息): Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005+) - 必须使用jtds驱动

    用于数据库表和字段的查询以及数据库元数据的进一步使用的工具源码,数据库元数据 - 通用工具

    数据库元数据核心部分,该部分完全独立,不依赖任何第三方,获取元数据部分的代码参考了MyBatis Generator。 如果你要连接数据库,需要有该数据库的JDBC驱动 DBMetadata-generator 利用数据库元数据,根据模板生成...

    一个基于Python PYQT5实现的本地音乐播放器源代码,支持获取在线歌词,使用SQLite3数据库实现音乐的检索

    一个基于Python PYQT5实现的本地音乐播放器源代码,支持获取在线歌词,使用SQLite3数据库实现音乐的检索,专注于显示歌曲的内嵌歌词和歌曲信息。 本软件的媒体播放基于Qt5的QMediaPlayer类实现,而在Windows平台上,...

    in-memory-store-sqlite:使用PDO和SQLite的RDF内存四元存储实现

    sweetrdf-RDF内存四元存储(SQLite)使用PDO和SQLite的RDF内存四元存储实现。安装使用Composer通过以下方式安装该库:作曲家安装sweetrdf / in-memory-store-sqlite用法使用InMemoryStoreSqlite::createInstance()...

    dbschemareader:将数据库元数据(从SqlServerOracleMySqlSQLitePostgreSqlDB2等)读取到一个简单模型中

    数据库模式读取器.Net 2.0 DbProviderFactories上的简单跨数据库外观,用于读取数据库元数据。 可以将任何ADO提供程序(SqlServer,SqlServer CE 4,MySQL,SQLite,System.Data.OracleClient,ODP,Devart,...

    tozan:通过创建元数据数据库来索引文件系统

    托山通过创建元数据数据库来索引文件系统 遍历给定目录下的文件,生成每个文件的哈希(默认为SHA1),并将哈希存储到SQLite数据库(默认为内存)。 如果给定文件已在数据库中列出,则其条目将被更新。 请注意, 的...

    centos7.zip

    第一步:获取仓库元数据,缓存于本地:/var/cache/yum 第二步:安装程序包:yum客户端程序在本地分析元数据文件,并结合本地系统环境(已安装的包)做出要安装的程序包的决策 第三步:获取程序包: 根据决策...

    plexcleaner:PlexCleaner将读取Plex Media Server数据库并使用匹配的媒体的元数据生成一个库

    此应用程序依赖于在Plex Media Server目录树中找到的有效sqlite3数据库来获取有关包含在媒体库文件夹中的文件的信息。 如果文件具有默认值作为元数据,则应用程序将假定Plex未正确匹配媒体文件。 因此,该应用程序...

    易语言程序免安装版下载

    修改BUG:Sqlite3数据库支持库中的“Sqlite记录集.绑定参数()”命令不支持汉字/UTF-8。 14. 修改BUG:VCL相关支持库部分组件在修改个别属性或调用个别方法后不可见,并改进了Delphi版本的支持库SDK。 15. 修改BUG...

    exhentai-database:完整的ExHentai数据库

    现在各位可能已经通过各种渠道获取到了图片资源的备份,但是元数据(tags, artists)还没有人释放出可用的资源。 然而元数据在E站也是至关重要的。e站的一大特点就是你可以通过tags 搜索你需要的资源。比如 通过...

    情节挑战

    作业概述:这些任务需要访问数据库以获取用户选择在网络上显示的样本,需要完成的两项工作是从路由: / samples /获取第一个前十个ID,以及从路由: / metadata /获取元数据。 。 在App.py上,我使用了Flask来开发...

    nhs-covid19-app-data:NHS COVID-19应用程序数据

    该表包含与已作为受感染广播的临时暴露密钥关联的元数据。 它不包含密钥本身的值,这在统计上没有用处,并且可能在识别攻击中带来有限的潜在风险。 该表中的字段与end_timestamp 的字段匹配,但export_date字段除外...

    visual-stat:尝试一些可视化的统计开源解决方案

    我们采用的解决方案 sqlite3:在python和nodejs中基于带有express / body-parser的nodejs的json api 可见,时间表如何使用如果你想得到有趣的照片 python crawler/flickr_api/geo_photos.py获取带有特定关键字的照片...

    Python 3教程(廖雪峰).rar

    数据类型和变量 29 字符串和编码 37 使用 list 和 tuple 46 条件判断 53 循环 58 使用 dict 和 set 63 函数 70 调用函数 72 定义函数 75 函数的参数 80 递归函数 93 高级特性 97 切片 98 迭代 102 ...

    廖雪峰Pyhton教程3.x版[完整版]

    3.1 数据类型和变量 18 3.2 字符串和编码 25 3.3 使用list和tuple 34 3.4 条件判断 39 3.5 循环 43 3.6 使用dict和set 45 4 函数 50 4.1 调用函数 52 4.2 定义函数 54 4.3 函数的参数 58 4.4 递归函数 70 5 高级特性...

    calibredb.el:另一个口径的客户-Emacs中的电子书管理解决方案

    从在线资源中获取元数据,包括自动检测pdf和djvu文件的ISBN(自动检测ISBN分别需要pdf和djvu文件的pdf-tools和djvu软件包) 管理电子书的图书馆和虚拟图书馆。 自定义元数据:标签,评论,突出显示,收藏夹,存档等...

    selfieexpression:使用 openCV、Python 和 Instagram API 进行人脸检测

    将元数据存储在 sqlite3 中 ###命令行调用示例:python face.py -l 40.7359 -g -73.9903086 -m [CURRENT TIMESTAMP] -t [TIME STAMP OF HOW FAR BACK YOU WANT TO GO] -c [YOUR_CLIENT_ID] 目前,它会在 -m 和 -t ...

    BitTroll:BitTorrent搜索引擎

    BitTroll会监听BitTorrent主线DHT中的种子信息散列,然后尝试解析种子的元数据(文件名,种子标题,文件大小等)以进行索引/搜索。 BitTroll可在Debian / Ubuntu / Fedora / Mac OS X上运行,但可以轻松调整以在...

    MasterMemory:.NET Core和Unity的嵌入式类型的只读内存中文档数据库

    主存储器 适用于.NET Core和Unity的嵌入式类型的只读内存中文档数据库。 比SQLite快4700倍,并且每个查询实现零分配。 DB的大小也很小。 当SQLite为3560kb时,... 元数据,要创建自定义的导入器/导出器,请获取

Global site tag (gtag.js) - Google Analytics