iOS 中数据库的使用

在开发的过程中难免会遇到数据缓存的需求,这样不仅可以增加界面的流畅度,还省去了一些不必要的请求.所以说还是很有必要的.下面为大家总结一下iOS 开发中FMDB这个库的使用,这个库对sql语句进行了封装,让我们调用的时候很方便.

首先,要去git上下载一个FMDB的库,然后把这些导入你的工程

然后导入系统支持库

最后导入头文件#import "FMDB.h",就可以使用了.

通常情况下我们要创建一个全局的数据库: 

@property(nonatomic,strong)FMDatabase * db;

下面开始是使用的步骤:

// 1.通过路径创建数据库

self.db = [FMDatabase databaseWithPath:sqlFilePath];

这里要说一下我们的储存路径"sqlFilePath",当sqlFilePath为空字符的时候 @"",

会在临时目录创建一个空的数据库当FMDatabase连接关闭时,数据库文件也被删除.

当sqlFilePath为nil的时候,会创建一个内存中临时数据库,当FMDatabase连接关闭时,数据库会被销毁.

还有一种就是你正常的保存路径,这样数据库的内容才会持久保存到本地.

// 2.打开数据库

if ([self.db open]) {

NSLOG(@"打开成功");

BOOL success = [self.db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_student (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER DEFAULT 1)"];

if (success) {

NSLOG(@"创建表成功");

} else {

NSLOG(@"创建表失败");

}

} else {

NSLOG(@"打开失败");

}

下面是数据库的增删改查操作

1.插入操作

BOOL success = [self.db executeUpdate:@"INSERT INTO t_student (name, age) VALUES (?, ?);", @"jack", @(10)];

if (success) {

NSLog(@"插入成功");

} else {

NSLog(@"插入失败");

}

2. 删除数据

BOOL success = [self.db executeUpdate:@"DELETE FROM t_student WHERE age > 20 AND age < 25;"];

if (success) {

NSLog(@"删除成功");

} else {

NSLog(@"删除失败");

}

3.修改操作

BOOL success = [self.db executeUpdate:@"UPDATE t_student SET name = 'liwx' WHERE age > 12 AND age < 15;"];

if (success) {

NSLog(@"修改成功");

} else {

NSLog(@"修改失败");

}

4. 查询操作

需要注意的是,数据库的增删改查中,只有查询操作是特殊的,语句跟其他不一样:

FMResultSet *result = [self.db executeQuery:@"SELECT id, name, age FROM t_student WHERE age > 25;"];

while ([result next]) {

int ID = [result intForColumnIndex:0];

NSString *name = [result stringForColumnIndex:1];

int age = [result intForColumn:@"age"];

NSLog(@"ID: %zd, name: %@, age: %zd", ID, name, age);

}


当然,其中的这些表名啊,参数名啊,个数啊都是自己定义的.使用的时候注意自己的命名就好

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容