Sqlite3 的确很好用。小巧、速度快。最近研究它,有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记。
导入SQLLite library并引入头文件.
libsqlite3.dylib本身是个链接,在这里它指向libsqlite3.0.dylib。也就是说在这里你添加libsqlite3.dylib和添加libsqlite3.0.dylib其实是添加了同一个文件,没有区别,那为什么要添加libsqlite3.0.dylib呢?原因在于libsqlite3.dylib是旧版的sqlite3动态库,也就是说如果出现了新的动态库(如:libsqlite3.1.dylib)那libsqlite3.dylib将指向这个新的动态库(libsqlite3.1.dylib)所以建议还是要添加libsqlite3.0.dylib。
(1) 关键数据结构
sqlite 里最常用到的是 sqlite3 * 类型。从数据库打开开始,sqlite就要为这个类型准备好内存,直到数据库关闭,整个过程都需要用到这个类型。当数据库打开时开始,这个类型的变量就代表了你要操作的数据库。下面再详细介绍。
(2) 打开数据库
打开数据库链接sqlite3_open用法
原型:
SQLITE_API int sqlite3_open(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: SQLite db handle */
);
用这个函数打开数据库操作。需要传入两个参数,一是数据库文件名,比如ZUOYOU1314Students.sqlite. 在iOS中一般是[fileUTF8String]
NSString * file = [documentsPathstringByAppendingPathComponent:@"ZUOYOU1314Students.sqlite"];
二是 sqlite3 ** 参数即前面提到的关键数据结构。这个结构底层细节如何,你不要管它。函数返回值表示操作是否正确,如果是 SQLITE_OK 则表示操作正常。相关的返回值sqlite