iOS FMDB增删改查

FMDB是一款简洁、易用的封装库,下面简单介绍下FMDB的使用:

在FMDB下载文件后,导入工程中,并使用 libsqlite3.dylib 依赖包。
FMDB常用类:

FMDatabase : 一个单一的SQLite数据库,用于执行SQL语句。
FMResultSet :执行查询一个FMDatabase结果集。 
FMDatabaseQueue :在多个线程来执行查询和更新时会使用这个类。

创建数据库:

db = [FMDatabase databaseWithPath:database_path];

1、当数据库文件不存在时,fmdb会自己创建一个。
2、 如果你传入的参数是空串:@"" ,则fmdb会在临时文件目录下创建这个数据库,数据库断开连接时,数据库文件被删除。
3、如果你传入的参数是 NULL,则它会建立一个在内存中的数据库,数据库断开连接时,数据库文件被删除。

打开数据库:

[db open]

返回BOOL型

关闭数据库:

[db close]

下面就是一个简单的栗子,代码如下:

首先导入头文件

#import "FMDatabase.h"
//定义静态变量LoadData对象
static LoadData *ld;
//分享单例对象
+ (instancetype)shareLoadData
{
    if (!ld) {
        ld = [[LoadData alloc]init];
    }
    return ld;
}

创建数据库

    //获取文稿路径
    NSArray *arr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    //拼接数据库路径
    NSString *path = [[arr lastObject] stringByAppendingPathComponent:@"fmdb.db"];
    //创建数据库
    db = [FMDatabase databaseWithPath:path];
    NSLog(@"创建数据库成功!");

创建表

if ([db open]) {
        //创建sql语句
        NSString *sql = @"create table if not exists book(id integer primary key autoincrement,name text,publish text,price real)";
        //创建表
        if ([db executeUpdate:sql]) {
            NSLog(@"创建表成功!");
        }else{
            NSLog(@"创建表失败!");
        }
    }else{
        NSLog(@"打开数据库失败!");
    }
    //关闭数据库
    [db close];

添加数据

if ([db open]) {
        //创建sql语句
        NSString *sql = [NSString stringWithFormat:@"insert into book(name,publish,price) values('%@','%@','%f')",bk.name,bk.publish,bk.price];
        //添加数据
        if ([db executeUpdate:sql]) {
            NSLog(@"添加成功!");
        }else{
            NSLog(@"添加失败!");
        }
    }else{
        NSLog(@"打开数据库失败!");
    }
    //关闭数据库
    [db close];

删除数据

if ([db open]) {
        //创建sql语句
        NSString *sql = [NSString stringWithFormat:@"delete from book where id = '%d'",bk.idNum];
        //删除
        if ([db executeUpdate:sql]) {
            NSLog(@"删除成功!");
        }else{
            NSLog(@"删除失败!");
        }
    }else{
        NSLog(@"打开数据库失败!");
    }
    //关闭数据库
    [db close];

查询数据

//创建数组
    NSMutableArray *mArr = [NSMutableArray array];
    if ([db open]) {
        //创建sql语句
        NSString *sql = @"select * from book";
        //执行查询
        FMResultSet *set = [db executeQuery:sql];
        while ([set next]) {
            //创建对象
            Book *bk = [[Book alloc]init];
            bk.idNum = [set intForColumn:@"id"];
            bk.name = [set stringForColumn:@"name"];
            bk.publish = [set stringForColumn:@"publish"];
            bk.price = [set doubleForColumn:@"price"];
            //加入数组
            [mArr addObject:bk];
        }
    }else{
        NSLog(@"打开数据库失败!");
    }
    //关闭数据库
    [db close];
    return mArr;

修改数据

if ([db open]) {
        //创建sql语句
        NSString *sql = [NSString stringWithFormat:@"UPDATE book set name = '%@', publish = '%@', price = '%f' where id = '%d'",bk.name,bk.publish,bk.price,bk.idNum];
        //修改图书
        if ([db executeUpdate:sql]) {
            NSLog(@"修改图书成功!");
        }else{
            NSLog(@"修改图书失败!");
        }
    }else{
        NSLog(@"打开数据库失败!");
    }
    //关闭数据库
    [db close];

以上就是FMDB的增删改查,喜欢就点个赞呗!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用cocoaPods配置第三方文件 第一步。打开终端 第二步。cd+文件夹 第三步。pod init 第四步。打开...
    不说谎的匹诺曹Y阅读 1,128评论 0 1
  • 1.CoreData 1.1 CoreData概述 1)Core data 是数据持久存储的最佳方式 2)Core...
    微春风阅读 3,858评论 0 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • FMDB 1、简述: * FMDB是iOS平台的SQLite数据库框架,是对libsqlite3框架的封装 * F...
    莦婼姑娘阅读 4,505评论 9 40
  • (一)不知从什么时候开始讨厌上了跑步这种单调而又让我筋疲力尽的运动方式。尤其是在今天。因为,此时,我的身后紧紧跟着...
    皆非沐夕阅读 376评论 0 0