iOS FMDB(数据库框架)

简介: FMDB1. 导包// 点击项目->General->Linked Frameworks and Libraries->搜索libsqlite3.tbd,并add.

FMDB

1. 导包

// 点击项目->General->Linked Frameworks and Libraries->搜索libsqlite3.tbd,并add.
#import "FMDB.h"
#import <sqlite3.h>
@interface ViewController ()
// 数据库对象
@property (nonatomic, strong) FMDatabase *fmDatabase;
@end

2. 打开数据库

    // 创建数据库路径
    NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"data.sqlite"];
    // 创建数据库对象
    FMDatabase *db = [FMDatabase databaseWithPath:path];
    self.fmDatabase = db;
    // 打开数据库,true,打开成功;false,打开失败
    BOOL isSuccess = [db open];
    // 判断是否打开成功
    if (isSuccess) {
        NSLog(@"打开数据库成功");
        NSLog(@"数据库路径:%@", path);
    } else {
        NSLog(@"打开数据库失败");
    }

3. 创建表

    // 创建表,执行sql语句,增删改相同,查询不一样
    NSString *sql = @"create table if not exists test(id integer primary key autoincrement, name text, age integer);";
    // 执行创建表命令,true, 创建成功;false,创建失败
    BOOL isSuccess = [self.fmDatabase executeUpdate:sql];
    if (isSuccess) {
        NSLog(@"创建表成功");
    } else {
        NSLog(@"创建表失败");
    }

4. 插入数据

    // 向表中添加100条数据
    for (int i = 0; i < 100; i++) {
        // 名称设置
        NSString *name = [NSString stringWithFormat:@"item-%d", i];
        // 随机生成20--25岁之间的年龄
        NSInteger age = arc4random_uniform(5) + 20;
        // sql语句拼接
        NSString *sql = [NSString stringWithFormat:@"insert into test(name,age) values('%@',%zd);", name, age];
        // 执行插入语句
        BOOL isSuccess = [self.fmDatabase executeUpdate:sql];
        // 判断是否添加成功
        if (isSuccess) {
            NSLog(@"添加成功");
        } else {
            NSLog(@"添加失败");
        }
    }

5. 查询数据

    // 查询语句
    NSString *sql = @"select name,age from test where age = 23;";
    // 执行查询语句
    FMResultSet *result = [self.fmDatabase executeQuery:sql];
    // 遍历查询结果
    while ([result next]) {
        // name
        NSString *name = [result stringForColumnIndex:0];
        // age
        NSInteger age = [result intForColumnIndex:1];
        NSLog(@"name = %@, age = %ld.", name, age);
    }

6. 更新数据

    // 修改语句
    NSString *sql = @"update test set age = 30 where age < 22;";
    // 执行sql语句
    BOOL isSuccess = [self.fmDatabase executeUpdate:sql];
    if (isSuccess) {
        NSLog(@"修改数据成功");
    } else {
        NSLog(@"修改数据失败");
    }

7. 删除数据

    // 删除语句
    NSString *sql = @"delete from test where age > 25;";
    // 执行语句
    BOOL isSuccess = [self.fmDatabase executeUpdate:sql];
    if (isSuccess) {
        NSLog(@"删除成功");
    } else {
        NSLog(@"删除失败");
    }
目录
相关文章
|
1月前
|
算法 计算机视觉 iOS开发
iOS 实时图像处理技术:Core Image 框架的应用
【4月更文挑战第8天】 在移动设备上实现高效的图像处理功能,对于提升用户体验和扩展应用程序能力至关重要。苹果公司的iOS平台提供了强大的Core Image框架,它允许开发者以高效和直观的方式执行复杂的图像处理任务。本文将深入探讨Core Image框架的关键特性,并通过实例演示如何在iOS应用中集成实时图像处理功能,不仅提高性能,同时保持了电池寿命的优化。我们将重点讨论面部识别、滤镜应用和性能优化等关键技术点,为读者提供一份全面的iOS图像处理指南。
|
2月前
|
SQL 开发框架 JavaScript
在 Vue 中进行数据持久化时,有哪些常用的数据库框架?
在 Vue 中进行数据持久化时,有哪些常用的数据库框架?
49 3
|
4月前
|
机器学习/深度学习 PyTorch TensorFlow
是否有其他框架可以在iOS设备上进行机器学习?
是否有其他框架可以在iOS设备上进行机器学习?
21 1
|
4月前
|
SQL 关系型数据库 MySQL
Python 数据库访问与ORM框架——打造高效开发利器
Python 作为一门广泛使用的编程语言,其在数据库访问方面也有着较为成熟的解决方案,其中ORM框架更是成为了开发者们的首选。本文将介绍 Python 中数据库访问和 ORM 框架的基本概念,以及如何使用 SQLAlchemy 这一优秀的 ORM 框架进行开发。
|
4月前
|
存储 数据建模 iOS开发
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
33 1
|
4月前
|
定位技术 iOS开发
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
20 0
|
4月前
|
SQL 数据管理 数据库
Python数据库访问与ORM框架:探索高效数据管理的奥秘
在当今信息爆炸的时代,高效地管理和处理海量数据成为了企业和开发者的迫切需求。本文将介绍Python中的数据库访问技术以及ORM框架(如SQLAlchemy),探索其在数据管理方面的重要作用。通过使用Python数据库访问和ORM框架,开发者可以更轻松地操作数据库、提高代码可读性和维护性,并实现高效的数据持久化和查询。
|
4月前
|
关系型数据库 API 数据库
Python数据库访问与ORM框架:加速开发、提升效率
在现代软件开发中,数据库是不可或缺的组成部分。本文介绍了Python中数据库访问的重要性,并探讨了ORM框架(例如SQLAlchemy)如何帮助程序员加速开发、提升效率。通过使用ORM框架,开发人员可以轻松地将Python对象映射到数据库表,并且可以通过简洁的API进行数据库操作。此外,本文还讨论了ORM框架在处理复杂查询、维护数据一致性和实现数据库迁移方面的优势。
|
4月前
|
SQL 数据库
若依框架---树状层级部门数据库表
若依框架---树状层级部门数据库表
192 0
|
4月前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
39 0