在mac下查看 sqlite3 数据库的方法、Sqlite Manage插件和软件MesaSQLite , 以及iOS开发中的SQLite知识总结

需要在mac下查看一下sqlite3的数据,最简单的办法是:

1:下载工具,到http://www.sqlite.org/download.html下载mac版。

2:解开下载文件,得到 sqlite3.app。

3:使用terminal,用命令行方式打开 sqlite3工具。很简单   sqlite3 数据库的路径名

4:然后就可以开始查看数据库了,记住;结尾。

5:如何查表结构?

select * from sqlite_master where type = “table”

这是查看所有的表结构。

查询具体的表,当然就用:

select * from sqlite_master where name=”表名”;

6:更多的命令行。可以使用  .help来得到帮助。

MesaSQLite 是一款简单好用的SQLite客户端,全GUI操作,基本支持所有SQLite特性,表格,视图,触发器等功能。 简单的界面是您在管理SQLite数据文件时候更容易,也支持SQL直接执行,对于喜欢直接用SQL来处理数据的同鞋也是很方便的。 MesaSQLite是免费的,不过开发MesaSQLite的公司: Desert Sand Software 开发的另外一个产品MesaMySQL for Windows 是要收费的。 官方主页: http://www.desertsandsoftware.com/?realmesa_home

FireFox自带的Sqlite Manage插件.

SQLite Database Browser.

一、查询优化

1.使用索引
当表中的数据太多时,建立索引可以明显提高查询速度
创建索引

sql> CREATE INDEX 索引名 ON 表(字段1[ASC,DESC],字段2[ASC,DESC]...)

  删除索引

sql> DROP INDEX 索引名

  重建索引

sql> REINDEX [索引名,表名]


2.数据分析
对表的索引的分析,ANALYZE命令令集合关于索引的统计信息并将 它们储存在数据库的一个特殊表中,查询优化器可以用该表来制作更好的索引选择。 若不给出参数,所有附加数据库中的所有索引被分析。若参数给出数据库名,该数据库中的所有索引被分析。若给出表名 作参数,则只有关联该表的索引被分析。

sql> ANALYZE [索引名,表名]

二、数据清理

  大量的删除表中的数据,SQLite并没有释放这些空间,需要运行如下命令精简数据库

sqlite> VACUUM;

三、数据加密

1.自己源码编译
实现源码中预留的加密解密接口
2.使用SQLCipher
源码在这里
step by step的使用过程在这里注意文章中几个宏的下划线没有加,不要盲目的复制粘贴
上一步的SQLCipher源码编译后,目录里面会有个sqlite的命令行程序,使用这个程序就可以给本地的数据库加密,然后很方便的在程序中使用了。具体命令看他的文档

四、查看工具

MesaSQLite  Mac OS X下的查看工具,当表的数据比较多时,有点慢
FireFox的 SQLite Manager插件

五、iOS开发第三方封装

1.FMDataBase 方便的存取,在多线程中使用也很方便
2.sqlitepersistentobjects 直接让NS对象本身就有save,load功能,让使用者在不写sql语句的情况下使用SQLite
已经不再更新