iOS数据库FMDB--增删改查(模糊查询)详细介绍
简介:
很早就想整理⼀下数据库的使⽤了,刚好最近接触较多,加之可以安排出空余的时间,所以⽠⼦我贡献出⾃⼰喝咖啡的时间整理⼀下FMDB的使⽤,以下是对FMDB的介绍以及基本使⽤ --- insert、delete、update、select。其中select讲了两种⽐较重要的⽅式---ID查询、模糊查询。
在iOS中,主要有5种数据缓存的策略:
1、plist
2、归档
3、偏好设置
4、沙盒⽂件
5、"SQLite数据库"
其中,"SQLite数据库" 是最常⽤的数据缓存⽅式,在开发中,在⽆⽹络的状态下,数据库常常发挥着⾮
常⼤的作⽤!
系统提供的数据存储⽅式的弊端 :
1)不⽅便操作⼤量的数据
- 系统提供的数据存储⽅式都是覆盖存储的,新的数据会覆盖旧的数据.⽽且当数据量⾮常⼤时,如果要添加新的数据,必须先把旧数据全部加载到内存中
2)不⽅便查⼤量的数据
- 当数据量⾮常庞⼤时,要查询其中某些数据,就⾮常困难。
⽽数据库可以轻松解决以上弊端~
表格)
Excel表格)
存储⽅式:(类⽐于Excel
存储⽅式:(类⽐于
"Excel"                                          "SQLite"
- 创建Excel⽂件                  - 创建⼀个数据库⽂件
- 创建表                                - 创建表
- 确定表头                            - 创建数据库的字段名(Excel表头),并指定数据类型
- 对Excel表进⾏数据操作    - 对数据库进⾏增删改查
FMDB的使⽤流程:
简单介绍:FMDB 是⼀个操作数据库的第三⽅框架,并且⽀持多线程环境下的操作,也是需要⼿动导⼊'libsqlite3.0.tbd'库,以OC的⽅式封装了简单介绍:
SQLite的C语⾔API。⽅便灵活并且线程安全。
"FMDatabase" : 单线程;"FMDatabaseQueue" : 多线程;"FMResultSet" : 查询的结果集。
1、创建数据库单例对象(⼀个数据库可以存在多个表)
2、创建数据库储存路径
3、创建表
4、对表格进⾏增删改查等操作
上代码:
1、创建数据库单例对象,如图1
图 1
注意:
注意:创建单例的原因是保证数据库队列只创建⼀次,全局只有⼀个串⾏队列,这样操作数据更安全。
2、创建数据库路径和表格,如图 2
图 2
解析:单引号‘’中为表格的字段名,逗号后⾯为字段所属类型,字段类型是整形就⽤interger,字符串就⽤text。
注意:
注意:主键要想实现⾃动增长,不能是text类型。
我们看到,在沙盒中已经建好了表名为:JLcharacterModel 的数据库。如图3
图 3
3、进⾏数据库操作 ---增删改查
提⽰:建表,增删改 操作都是⽅法 "[_db executeUpdate]"或者"[_db executeStatements]",查询是另外的⽅法 "[_db executeQuery]"  。提⽰:
星号(*)是选取所有列的快捷⽅式。SQL 语句对⼤⼩写不敏感。SELECT 等效于 select。
1 ) INSERT INTO
INSERT INTO 语句⽤于向表格中插⼊新的⾏。
语法:INSERT INTO 表名称 VALUES (值1, 值2,....)
也可以向指定的列插⼊数据:INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
将数据写⼊表格,如图4(以下数据来源于卓浦⼠科技所属的app ---⾜球技能分析⼤师TropsX的云端数据,因为安全问题,将部分信息遮挡,敬请谅解)
图 4
注意!请注意:
1)列名称和值名称的顺序要⼀⼀对应!例如:列名banner要对应⾃⼰的类型text。
2)如果列名类型是NSString,则需要加单引号 ‘’ 括住,例如:'%@',只应⽤于字符串类型。
3)对数据库进⾏操作增删改查之前要先打开数据库,操作完毕要关闭数据库。这只是⼀种严谨的写法,最好这样,否则可能会操作失败。
打开app本地数据库查看我们创建好的表格,如图 5
图 5
这时候你会发现,表格是空的what ?
仔细⼀看,原来是创建表格的表名称写错了!!把 CharaterModel 改为 JLCharaterModel ,so,数据库路径的表名称跟插⼊数据写的表名称⼀定要相同!运⾏程序。铛铛铛~
图 6
注释:图 6 信息显⽰不全。
2)DELETE
DELETE 语句⽤于删除表中的⾏。
语法:DELETE FROM 表名称 WHERE 列名称 = 值,删除所有⾏:DELETE FROM 表名 或者DELETE * FROM 表名。
现在我们删除itemid为Shoe0101、Shoe0102这两⾏~ 代码如图 7。
图 7
来看看数据库是否已经删除成功,如图8:铛铛铛~
图 8
已经删除成功~
3)UPDATE
Update 语句⽤于修改表中的数据。
语法:更新某⾏的⼀列:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值。更新某⾏的若⼲列:UPDATE 表名称 SET 列名称1 =新值1 ,列名称2 = 新值2 WHERE 列名称 = 某值。
基本的增删改查语句将idNew为10000103的那⼀⾏ name改为静林是真的⽠⼦,status改为U,看代码:如图 9。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。