美文网首页
9.1 FMDB数据库-常用方法

9.1 FMDB数据库-常用方法

作者: 草根小强 | 来源:发表于2019-04-25 16:17 被阅读0次

FMDB数据库-常用方法

#import "ViewController.h"
#import "FMDatabase.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //NSHomeDirectory()
    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/sq.db"];
    
    //指定数据存储路径
    //FMDatabase管理数据的类(增 删 改 查....)
    FMDatabase *dataBase = [[FMDatabase alloc]initWithPath:path];
    
    //open打开数据库/文件  如果文件存在就是打开 如果文件不存在就是创建
    BOOL ret = [dataBase open];
    
    if (ret) {
        NSLog(@"创建成功");
        
        //创建表
        //CREATE TABLE IF NOT EXISTS 如果表不存在 创建表 固定写法
        //大写小写都可以 官方建议关键词大写
        NSString *createSq = @"CREATE TABLE IF NOT EXISTS userInfo(name text,age interger)";
        //userInfo 是表的名字 这个名字是你自己定义的
        //()就是要存储的数据的个数以及类型
        //text 字符串类型 verchar 字符串 interger 整型
        
        //除了查看表 增、删、改...都要使用这个方法executeUpdate
        //参数是sq的语法 定义什么样的语法 执行什么样的功能
        ret = [dataBase executeUpdate:createSq];
        if (ret) {
            NSLog(@"创建表成功");
        }else{
            NSLog(@"创建表失败 %@",dataBase.lastErrorMessage);
        }
        
    }else{
        //lastErrorMessage创建/打开数据库失败的错误信息
        NSLog(@"失败信息:%@",dataBase.lastErrorMessage);
    }
    NSLog(@"路径:%@",path);
    
    
    //存储具体数据
    //插入数据的SQ语法
    NSString *insertSq = @"insert into userInfo (name,age) values(?,?)";
    //执行插入语法  executeUpdate参数必须是对象
    BOOL ret1 = [dataBase executeUpdate:insertSq,@"老大",@12];
    [dataBase executeUpdate:insertSq,@"老二",@12];
    [dataBase executeUpdate:insertSq,@"老三",@12];
    [dataBase executeUpdate:insertSq,@"老四",@12];
    [dataBase executeUpdate:insertSq,@"老五",@12];
    [dataBase executeUpdate:insertSq,@"老六",@12];
    [dataBase executeUpdate:insertSq,@"老七",@12];
    if (ret1) {
        NSLog(@"插入成功");
    }else{
        NSLog(@"插入失败:%@",dataBase.lastErrorMessage);
    }
    
    
    //修改数据
//    NSString *updatSq = @"update userInfo set name=?,age=?";
//    
//    BOOL ret3 = [dataBase executeUpdate:updatSq,@"狐狸精",@20000];
//    if (ret3) {
//        NSLog(@"修改成功");
//    }else{
//        NSLog(@"修改失败 %@",dataBase.lastErrorMessage);
//    }
//    
    //删除  where依据那个参数进行删除
    NSString *deleteSq = @"delete from userInfo where name=?";
    
    BOOL ret4 = [dataBase executeUpdate:deleteSq,@"狐狸精"];
    if (ret4) {
        NSLog(@"删除成功");
    }else{
        NSLog(@"删除失败");
    }
    
    //查看的SQ语法  select *查看所有数据
    NSString *resultSQ = @"select *from userInfo";
    
    //executeQuery查询的方法
    FMResultSet *set = [dataBase executeQuery:resultSQ];
    //FMResultSet 查询的类
    
    //next逐条查询 查到了就查询下一条
//    BOOL ret2 = [set next];
    while ([set next]) {
        //stringForColumn提取数据
        NSString *name = [set stringForColumn:@"name"];
        NSInteger age = [set intForColumn:@"age"];
        
        NSLog(@"名字:%@ 年龄:%ld",name,age);
    }
}
@end
FMDB数据库-常用方法.png

相关文章

  • 9.1 FMDB数据库-常用方法

    FMDB数据库-常用方法 FMDB数据库-常用方法.png

  • iOS数据库

    MagicalRecord Realm数据库 Realm数据库基础教程 FMDB FMDB 使用方法 SQL (F...

  • FMDB

    FMDB 使用方法 - 简书 FMDB数据库升级增加表字段 - CSDN博客

  • 数据库

    数据库常用操作介绍增删改查 FMDB FMDB简单介绍 、FMDB使用 需求:判断一个table是存在 判断一个t...

  • 关于oc的总结

    - iOS下常用类库整理 网络处理 AFNetWorking Alamofire 数据库 fmdb ...

  • effective tips

    # iOS下常用类库整理 网络处理 AFNetWorking Alamofire 数据库 fmdb sq...

  • 第四篇:sqlite数据库与FMDB

    目录一、sqlite数据库二、FMDB 一、sqlite数据库 sqlite数据库是基于C实现的、移动端开发常用的...

  • SQLite&FMDB

    简介 sqlite是开发中常用的一种轻便型数据库, iOS中通常使用FMDB来操作sqlite,FMDB是目前iO...

  • 论一位iOS工程师应该怎样优雅的使用FMDB

    首先是特别多的参考文章 FMDB对图片的存储、查询、删除 FMDB 使用方法 [iOS]数据库第三方框架FMDB详...

  • Java基础 - 常用类

    9.JDK常用类 9.1 String类 常用方法 String format(String format, O...

网友评论

      本文标题:9.1 FMDB数据库-常用方法

      本文链接:https://www.haomeiwen.com/subject/hkjzgqtx.html