- 1.项目引入
FMDB
第三方库 GitHub下载地址- 推荐使用
Cocoapods
来管理三方库 - 将
FMDB
从github
上clone
下来,然后copy
到你的工程中。注意:需要libsqlite3.dylib
依赖(具体流程Project
->TARGETS
->Build Phases
->Link Binary With Libraries
,然后点击+号引用该动态库)
- 推荐使用
- 2.对数据库的操作流程及注意事项
通常对数据库的操作,我们一般称为CURD,即对表进行创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。
对数据库中存储的每一个值都有一个类型
1. NULL 这个值为空值
2. INTEGER 值被标识为整数,依据值的大小可以依次被存储1~8个字节
3. REAL 所有值都是浮动的数值
4. TEXT 值为文本字符串
5. BLOB 值为blob数据
注意:
(1)执行语句的参数必须是NSObject的子类,所以像int, double, bool这种基本类型,需要封装成对应的包装类才行(摘抄自唐巧的技术博客)
// 错误,42不能作为参数
[db executeUpdate:@"INSERT INTO myTable VALUES (?)", 42];
// 正确,将42封装成Number
[db executeUpdate:@"INSERT INTO myTable VALUES (?)", @(42)];
(2)只要不是以SELECT开头的命令都会执行UPDATE命令,SELECT其实就是查询命令,执行查询的方法以-executeQuery:开头
- 3.Demo地址及效果图
https://github.com/HqRaining78/FMDB_SampleTest
https://github.com/liuchunlao/LVDatabaseDemo 其为model的来源地址,感谢其分享或者可以调研这个demo)
最后,文中若有不对的地方欢迎指正,望共同学习,彼此进步。不吝赐教啊。。。谢谢!!!
参考资料
- FMDB官方使用文档-GCD的使用-提高性能(翻译)
- 在iOS开发中使用FMDB(唐巧)
- 简单封装FMDB操作sqlite的模板(代码手工艺人)