iOS 数据库存储

一、数据库简介

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
数据库可以分为2大种类:关系型数据库(主流)和 对象型数据库

常用关系型数据库:

PC端:Oracle、MySQL、SQL Server、Access、DB2、Sybase
嵌入式\移动客户端:SQLite
二、数据库存储单元

数据库的存储结构和excel很像,以表(table)为单位。

数据库存储数据的步骤:

新建一张表(table)
添加多个字段(column,列,属性)
添加多行记录(row,record,每行存放多个字段对应的值)
三、常用类型

SQLite3

1. SQLite是一款轻型的嵌入式数据库
2. 它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了,
它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快
3. 目前iOS系统为开发者提供的数据库是SQLite3版本

FMDB

一款优秀的三方开源的SQLite操作框架,支持OC和Swift
FMDB早已经支持CocoaPods,可以用 pod 'FMDB' 进行安装
四、介绍

FMDatabase

为执行SQL语句(statements)提供了一个单一的数据库

FMResultSet

执行查询(query,这里FMDB特指,下面会有解释)语句的结果集

FMDatabaseQueue

在多线程中执行查询(queries)和更行(updates),需要用到,因为它线程安全
五、使用

数据库创建

MDatabase 是通过一个 SQLite 数据库文件路径创建的,此路径可以是以下三者之一:
1、一个文件的系统路径,如果此文件不存在,它会为你在此路径下创建文件
2、一个空的字符串 @""。会在临时位置创建一个空的数据库,当 FMDatabase 连接关闭时,该数据库会被删除
3、NULL。会在内存中创建一个数据库,当FMDatabase 连接关闭时,该数据库会被销毁。


NSString *path = [NSTemporaryDirectory() stringByAppendingPathComponent:@"tmp.db"];
FMDatabase *db = [FMDatabase databaseWithPath:path];

打开数据库

数据库必须是打开状态,才能与之交互。如果没有足够的资源和权限来打开创建数据库,数据库会打开失败



if (![db open]) {
    // [db release];   // uncomment this line in manual referencing code; in ARC, this is not necessary/permitted
    db = nil;
    return;
}

关闭数据库

当对数据库进行查询和更新操作完成后,需要调用 -close 关闭数据库 FMDatabase 的连接。


[db close];

你可能感兴趣的:(iOS 数据库存储)