iOS开发 -- 数据库的之sqlite

iOS开发用到的数据库主要有两种,一种是苹果原生的,CoreData,不过因为其繁琐的代码,导致很多程序员都不买他的帐,用的人也不是很多;那么第二种也就是现在比较流行的的小型嵌入式数据库sqlite。我个人觉得sqlite之所以流行主要是因为他的体积小,易于管理,并且支持SQL语句,学习成本也低。当然,纯原生的sqlite在iOS使用过程中也是比较繁琐的,通常我们都是用第三方框架FMDB。
下载连接 https://github.com/ccgus/fmdb
通过上面的链接我们可以得到最新版的FMDB,接下里我介绍一下他的使用。首先我们创建一个工程,取名FMDBDemo,接下来我做一下相关的配置。
1.导入第三方框架
选中工程根文件-》点击右键-》add File to (工程名) -》选中刚才下载的FMDB矿建 -》选中添加,一定注意要选择copy item选项。

iOS开发 -- 数据库的之sqlite_第1张图片
前两个步骤.png

2.导入依赖库
选中工程-》BuildPhase -》Link Library -》点击+-》搜索sqlite -》选中sqlite3-》点击添加

iOS开发 -- 数据库的之sqlite_第2张图片
添加完成之后.png

做完了上述的事情 我们就可以愉快的开发了。在这里我将设一个实例场景,我们假设一个教室有很多的学生,每个学生都有他们的姓名,同时他们每个人都有一个宠物,每个人宠物有名字和你年龄。好,接下来我们写一个小demo,用来管理这些信息。
开始之前,在我们的.h文件中引入FMDB.h头文件
然后创建一个全局的变量db,类型为FMDatabase
1.首先我们创建一个数据库db

    //创建db存储的路径
    NSString *path = [NSString stringWithFormat:@"%@/Documents/%@", NSHomeDirectory(), dbName);
      //创建数据库
      _db = [FMDBDatabase alloc] initWithPath:path];
     if ([db open]) {
     NSLog("创建数据库成功");
   } else {
     NSLog("创建数据库失败");
   } 

2.给数据库创建一个class表

    //首先判断数据库能否打开
    if([_db open]) {
      //首先定义创建表的sql语句,说明一下,FMDB只是对sqlite的封装,其底层实现还是sqlite。
        NSString *sql = @"create table if not exists class(stuName archer(20), petName archer(20), petAge int)" ;
         if ([_db executeUpdate: sql])  {
                NSLog("创建表成功”);
          } else {
                NSLog("创建表失败"); 
          }
    } else {
        NSLog("打开失败");    
}

3.给数据库添加数据

      NSString *sql = [NSString stringWithFormat:@"insert into class values('%@', '$@', '%@')", stuName, petName, petAge];
      if ([_db executeUpdate: sql]) {    
            NSLog("添加数据成功");  
      } else {
            NSLog("添加数据失败");
      }

4.数据库查找数据库

         NSString *sql = [NSString stringWithFormat:@"select * from class"];
          NSFMResultSet *rs = [_db executeQuery:sql]; 
          if ([_db executeQuery:sql]) {
                  while ([rs next]) {
                         NSLog("StuNaem: %@", [rs stringForColumn:@"stuName"]); 
                   }               
          }

5.数据库删除数据

      //这里我们以stuName为依据删除该条数据
      NSString *sql = [NSString stringWithFormat:@"delete from class where stuName = '%@'", stuName];
      if ([_db executeUpdate:sql]) {
                NSLog("删除成功");
      } else {
                NSLog("删除失败");
    }

6.数据的跟新操作

          NSString *sql = [NSString stringWithFormat:@"update class set stuName = '%@' where stuName = 'stuName'"];
          if ([_db executeUpdate:sql]) {
                  NSLog("修改成功");
          } else {
                  NSLog("修改失败");
          }

结束语
FMDB的基本使用方法大致就这么多。这里只是给大家提供了基本的用法,希望对新手能有所帮做。
Demo的github地址github

你可能感兴趣的:(iOS开发 -- 数据库的之sqlite)