前言:
不知道大家平时在iOS中需要查看数据库内容的时候是否有困扰,以前做法都是把数据库文件导出到电脑上,然后通过mac上的数据库可视化软件打开查看里面的数据。一来一回挺折腾的,不满于这种浪费时间效率低下的方式,所以想着要是能够直接在手机上或者模拟器上查看数据库多好,直接操作数据库多好,可以大大节省时间,提高工作效率。
实现:
因为在iOS中的数据库存储大多是基于SQLite框架实现的,其他的比如Realm是有自己的一套数据库存储引擎,当然也有部分选择苹果自家的Core Data来实现的。在这里我只对基于SQLite实现的做了一个可视化的方案,后续可能会对其他存储引擎的支持。
实现方式就是通过对sqlite的api一个封装可以支持通用的查询,删除,修改。这里暂时是没有做新增一行的功能。但也可以解决大部分查看数据源库,更新数据库的需求了。
效果可以看下图:
databasedemo.gif
可以针对某一个table删除具体选中的一行,可以修改某一行某一个字段的值(当然主键除外)。我们都知道平常修改某一个行数据或者删除的话都要限定一个where条件,一般来说是去判断一个唯一标志的字段,但是我们并不能知道数据库的唯一标志是哪一个字段,或者有些数据库也是没有主键存在的,当然也可以罗列出当前行的所有字段去判断,这就有点费精力了,有些字段多的就需要判断很多。所以这里我用到了一个数据库的影藏字段rowid,通过这个rowid去找到我们具体要修改的哪一行,但