iOS 基于FMDB简单的查询操作
2016-11-10 16:19
295 查看
上一篇文章介绍了FMDB的安装增删改查等的操作
这篇文章主要是数据查询的筛选和常用的数据库统计函数,便于以后的查询和学习.
查询函数主要分为两大类
第一大类就是数据的筛选 是基于数据表的筛选
数据源
数据的升序和降序
分组并筛选
最大值
//max 最大值
-(NSInteger)getAllDataMax{
NSString *sql = [NSString stringWithFormat:@"select max(age) maxAge from workTable"];
NSMutableArray *arr = [[NSMutableArray alloc] init];
FMResultSet *rs = [_database executeQuery:sql];
while ([rs next]) {
Worker *model = [[Worker alloc] init];
model.statistic = [rs intForColumn:@"maxAge"];
[arr addObject:model];
}
Worker *model = [arr firstObject];
return model.statistic;
}
数据之和
//sum 数据之和
-(NSInteger)getAllDataSum{
NSString *sql = [NSString stringWithFormat:@"select sum(age) sumAge from workTable"];
NSMutableArray *arr = [[NSMutableArray alloc] init];
FMResultSet *rs = [_database executeQuery:sql];
while ([rs next]) {
Worker *model = [[Worker alloc] init];
model.statistic = [rs intForColumn:@"sumAge"];
[arr addObject:model];
}
Worker *model = [arr firstObject];
return model.statistic;
}
数据平均值
//avg 数据的平均值
-(NSInteger)getAllDataAvg{
NSString *sql = [NSString stringWithFormat:@"select avg(age) avgAge from workTable"];
NSMutableArray *arr = [[NSMutableArray alloc] init];
FMResultSet *rs = [_database executeQuery:sql];
while ([rs next]) {
Worker *model = [[Worker alloc] init];
model.statistic = [rs intForColumn:@"avgAge"];
[arr addObject:model];
}
Worker *model = [arr firstObject];
return model.statistic;
}
数据量
//count 表中的数据量
-(NSInteger)getAllDataCount{
NSString *sql = [NSString stringWithFormat:@"select count(*) count from workTable"];
NSMutableArray *arr = [[NSMutableArray alloc] init];
FMResultSet *rs = [_database executeQuery:sql];
while ([rs next]) {
Worker *model = [[Worker alloc] init];
model.statistic = [rs intForColumn:@"count"];
[arr addObject:model];
}
Worker *model = [arr firstObject];
return model.statistic;
}
以上就是简单的数据库查询和统计
Demo http://download.csdn.net/detail/rpf2014/9689776
这篇文章主要是数据查询的筛选和常用的数据库统计函数,便于以后的查询和学习.
查询函数主要分为两大类
第一大类就是数据的筛选 是基于数据表的筛选
数据源
-(void)dataConfig{ _dataArr = [[NSMutableArray alloc] init]; Worker *w1 = [[Worker alloc] init]; w1.workId = @"2"; w1.name = @"小明1"; w1.age = 12; Worker *w2 = [[Worker alloc] init]; w2.workId = @"1"; w2.name = @"小明2"; w2.age = 13; Worker *w3 = [[Worker alloc] init]; w3.workId = @"3"; w3.name = @"小李"; w3.age = 14; Worker *w4 = [[Worker alloc] init]; w4.workId = @"4"; w4.name = @"小李"; w4.age = 15; [_dataArr addObject:w1]; [_dataArr addObject:w2]; [_dataArr addObject:w3]; [_dataArr addObject:w4]; }先封装一下数据的统计
-(NSMutableArray *)getReArrFromSql:(NSString *)sql{ FMResultSet *rs = [_database executeQuery:sql]; NSMutableArray *arr = [[NSMutableArray alloc] init]; while ([rs next]) { Worker *model = [[Worker alloc] init]; model.workId = [rs stringForColumn:@"workId"]; model.name = [rs stringForColumn:@"name"]; model.age = [rs intForColumn:@"age"]; [arr addObject:model]; } return arr; }
数据的升序和降序
//order by //1 排序 //asc 默认 升序 //desc 降序 -(NSMutableArray *)getAllDataOrderBy:(NSString *)type{ NSString *sql = [NSString stringWithFormat:@"select * from workTable order by workId %@",type]; return [self getReArrFromSql:sql]; }去重
//distinct //1 只能放在最前面 //2 只能作用于一列 -(NSMutableArray *)getAllDataDistinct{ NSString *sql = [NSString stringWithFormat:@"select distinct name from workTable"]; return [self getReArrFromSql:sql]; }并
//and就是并的作用 -(NSMutableArray *)getAllDataAnd{ NSString *sql = [NSString stringWithFormat:@"select * from workTable where workId = 1 and name = '小张'"]; return [self getReArrFromSql:sql]; }或
//or就是或的作用 -(NSMutableArray *)getAllDataOr{ NSString *sql = [NSString stringWithFormat:@"select * from workTable where workId = 1 or name = '小李'"]; return [self getReArrFromSql:sql]; }like 模糊查询
//like //结尾是李的所有数据 -(NSMutableArray *)getAllDataLike1{ NSString *sql = [NSString stringWithFormat:@"select * from workTable where name like '%%李'"]; return [self getReArrFromSql:sql]; }
//开头是小的所有数据 -(NSMutableArray *)getAllDataLike2{ NSString *sql = [NSString stringWithFormat:@"select * from workTable where name like '小%%'"]; return [self getReArrFromSql:sql]; }
//中间是明的所有数据 -(NSMutableArray *)getAllDataLike3{ NSString *sql = [NSString stringWithFormat:@"select * from workTable where name like '%%明%%'"]; return [self getReArrFromSql:sql]; }
//不包含明的所有数据 -(NSMutableArray *)getAllDataLike4{ NSString *sql = [NSString stringWithFormat:@"select * from workTable where name not like '%%明%%'"]; return [self getReArrFromSql:sql]; }in 相当于集合
//in 相当于集合 -(NSMutableArray *)getAllDataIn{ NSString *sql = [NSString stringWithFormat:@"select * from workTable where name in ('小明1','小李')"]; return [self getReArrFromSql:sql]; }between and 闭区间
//between sqlite里面的between都是闭区间 -(NSMutableArray *)getAllDataBetween{ NSString *sql = [NSString stringWithFormat:@"select * from workTable where workId between 1 and 3"]; return [self getReArrFromSql:sql]; }第二大类是数据的统计,比如数据量,某个字段的平均值
分组并筛选
//group by 筛选结果的计算 //having 对group by 结果的进一步筛选 -(NSMutableArray *)getAllDataGroupBy{ NSString *sql = [NSString stringWithFormat:@"select name,sum(age) s from workTable group by name having s>15"]; NSMutableArray *arr = [[NSMutableArray alloc] init]; FMResultSet *rs = [_database executeQuery:sql]; while ([rs next]) { Worker *model = [[Worker alloc] init]; model.name = [rs stringForColumn:@"name"]; model.age = [rs intForColumn:@"s"]; [arr addObject:model]; } return arr; }最小值
//min 最小值 -(NSInteger)getAllDataMin{ NSString *sql = [NSString stringWithFormat:@"select min(age) minAge from workTable"]; NSMutableArray *arr = [[NSMutableArray alloc] init]; FMResultSet *rs = [_database executeQuery:sql]; while ([rs next]) { Worker *model = [[Worker alloc] init]; model.statistic = [rs intForColumn:@"minAge"]; [arr addObject:model]; } Worker *model = [arr firstObject]; return model.statistic; }
最大值
//max 最大值
-(NSInteger)getAllDataMax{
NSString *sql = [NSString stringWithFormat:@"select max(age) maxAge from workTable"];
NSMutableArray *arr = [[NSMutableArray alloc] init];
FMResultSet *rs = [_database executeQuery:sql];
while ([rs next]) {
Worker *model = [[Worker alloc] init];
model.statistic = [rs intForColumn:@"maxAge"];
[arr addObject:model];
}
Worker *model = [arr firstObject];
return model.statistic;
}
数据之和
//sum 数据之和
-(NSInteger)getAllDataSum{
NSString *sql = [NSString stringWithFormat:@"select sum(age) sumAge from workTable"];
NSMutableArray *arr = [[NSMutableArray alloc] init];
FMResultSet *rs = [_database executeQuery:sql];
while ([rs next]) {
Worker *model = [[Worker alloc] init];
model.statistic = [rs intForColumn:@"sumAge"];
[arr addObject:model];
}
Worker *model = [arr firstObject];
return model.statistic;
}
数据平均值
//avg 数据的平均值
-(NSInteger)getAllDataAvg{
NSString *sql = [NSString stringWithFormat:@"select avg(age) avgAge from workTable"];
NSMutableArray *arr = [[NSMutableArray alloc] init];
FMResultSet *rs = [_database executeQuery:sql];
while ([rs next]) {
Worker *model = [[Worker alloc] init];
model.statistic = [rs intForColumn:@"avgAge"];
[arr addObject:model];
}
Worker *model = [arr firstObject];
return model.statistic;
}
数据量
//count 表中的数据量
-(NSInteger)getAllDataCount{
NSString *sql = [NSString stringWithFormat:@"select count(*) count from workTable"];
NSMutableArray *arr = [[NSMutableArray alloc] init];
FMResultSet *rs = [_database executeQuery:sql];
while ([rs next]) {
Worker *model = [[Worker alloc] init];
model.statistic = [rs intForColumn:@"count"];
[arr addObject:model];
}
Worker *model = [arr firstObject];
return model.statistic;
}
以上就是简单的数据库查询和统计
Demo http://download.csdn.net/detail/rpf2014/9689776
相关文章推荐
- 自定义封装简单的基于FMDB以及数据model的数据库操作
- iOS sqlite 增删改查 简单封装(基于 FMDB)
- iOS的数据库相关操作(基于fmdb)
- iOS sqlite 增删改查 简单封装(基于 FMDB)
- iOS-基于FMDB的操作封装,模型对象的增删改查
- 简单Json实例——基于JQuery框架Ajax支持的Json操作——J2EE版本
- iOS 6编程-基于AV Foundation框架开发简单音乐播放器
- DedeCms二次开发之简单的查询、插入、更新、删除操作实例
- PostgreSQL 的一个简单连接和查询操作——示例
- iBatis 操作数据库【设置查询条件】,简单例子之三
- IOS沙盒和sqlite简单操作分析
- ios学习--sqlite 操作工具 FMDB
- 简单sql查询接口(需要在文件中指定conn才能进行sql语句操作)
- iOS关于数据库的操作(使用第三方类库FMDB)
- ios 简单的plist文件读写操作(Document和NSUserDefaults)
- iOS 使用FMDB进行数据库操作
- DedeCms二次开发之简单的查询、插入、更新、删除操作实例
- 学习python 第三季:编写简单简单连接数据库并执行查询操作
- 简单sql查询接口(输入user:pwd@host即可进行sql语句操作)
- 【iOS-Cocos2d游戏开发之二十】精灵的基础知识点总汇(位图操作/贴图更换/重排z轴等)及制作简单遮盖层!