下面不废话了直接上代码?
/*

     首先把FMDB拖入到工程中,需要我们把sqlite3这个库导入工程,(若是非ARC的工程,我们可以直接导入就好)

     

     数据库--》操作大量的有规律的数据

     

     FMDB是别人在系统数据库的繁琐的基础上给又封装了一下,供我们使用,--》相比于系统数据库更简单,好用

     

     FMDatabase 主要是提供操作时用得sql语句

     

     FMDatabaseAdditions.h 只要是负责多线程或是查询时更新时的操作

     FMDBResultSet  结果集,对数据库的操作,返回结果

     

     */



//创建一个FMDatabase类的对象,这个对象用来操作数据库

    db = [[FMDatabase alloc] initWithPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/pop.sqlite"]];

    //打开数据库--》指的是打开时有可能会出现异常,若出现异常就关闭,若没有出现异常就直接执行下面的代码

    if (![db open])

    {
        //关闭数据库

        [db close];

        return;

    }

    

    //对数据库中表的操作,添加,删除,修改

    //看表是不是在数据库  ---》执行表的操作,导入FMDatabaseAdditions.h

    

    if (![db tableExists:@"people"])

    {

        [db executeUpdate:@"CREATE TABLE people (peopleid INTEGER PRIMARY KEY,peoplename TEXT,peopleage INTEGER)"];

    }

    //关闭数据库

    [db close   ];

    

 

//插入

    //打开数据库

    if (![db open])

    {

        [db close];

       return;

    }

    

    //设置缓存---》提高效率

    

    [db setShouldCacheStatements:YES];

    

    //执行插入的操作  [NSNumber numberWithInt:22];把整数类型转换成NSNumber对象类型

    [db executeUpdate:@"INSERT INTO people(peoplename,peopleage) VALUES (?,?)",@"白童童",[NSNumber numberWithInt:22]];

    //关闭数据库

    [db close];

 

//删除  要知道哪一行,-->上面去

    if (![db open])

    {
        [db close];
        return;

    }

   BOOL isSuccess =  [db executeUpdate:@"DELETE FROM people WHERE peopleid = ?",[NSNumber numberWithInt:_peopleId]];

    //检测sql语句是否书写正确--》1时正确  0相反

    NSLog(@"9------%d",isSuccess);

    [db close];

 



//更新

//打开数据库

    if (![db open])

    {
        [db close];

        return;

    }

    
    //设置缓存
    [db setShouldCacheStatements:YES];
    

    //执行更新
    [db executeUpdate:@"UPDATE people SET peoplename = ?WHERE peopleid=?",@"史冬峰",[NSNumber numberWithInt:_peopleId]];
    
    [db close];

 



//更新UI

//打开数据库

    if (![db open])

    {
        [db close];

        return;
    }

    //设置缓存

    [db setShouldCacheStatements:YES];

    

    //执行查询

    //添加,删除,修改,都是对数据库中的表进行操作,查询是把数据库中的数据给读取出来(结果集)

   FMResultSet *rs = [db executeQuery:@"SELECT *FROM people"];

    

    //去创建一个数组出来用来保存读取出来的数据


    //移除数组中已经添加过的数据,想要出现一次一个

    [peopleArray removeAllObjects];


    //遍历结果集,每次只读取一条数据

    while ([rs next])

    {

        //从结果集中把刚才读取的数据取出来,--》把取出的数据信息给封装一个people类--》创建people类

        ZYPeople *p = [[ZYPeople alloc] init];


        //根据数据在数据库中的类型来取(字段--字段类型)--》去给people描述几个相应的属性

        p.pID = [rs intForColumn:@"peopleid"];

        p.pName = [rs stringForColumn:@"peoplename"];

        p.pAge = [rs intForColumn:@"peopleage"];        

        [peopleArray addObject:p];
 
    }

    //关闭结果集

    [rs close];

 
    //关闭数据库

    [db close];

    [。。。 reloadData];