美文网首页
iOS开发中本地持久化-SQLite

iOS开发中本地持久化-SQLite

作者: 蚂蚁牙齿不黑 | 来源:发表于2016-03-21 00:04 被阅读148次

    数据库简介:

    数据库按照数据结构来组织,存储和管理数据的仓库,数据库可分为两大类关系型(主流)和对象型

    数据库存储数据的步骤

    1.新建一个数据库文件

    2.新建一张表

    3.添加多个字段(可以当作excel的列)

    4.添加多行记录(可以当做excel的行)

    SQLite简介:

    SQLite是一款轻型的嵌入式数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百k的内存就够了,但是它的处理速度比Mysql  PostgreSql这两款著名的数据库都还快

    SQLite将数据划分为以下几种存储类型:

    integer:整型值

    real:浮点值

    text:文本字符串

    blob:二进制数据(比如文件)

    实际上是无类型的,类型仅仅是为了增加代码的阅读性

    一   SQLite的语句可分为三类DDL  DML  DQL

    1.1数据定义语句DDL

    包括create 和drop等操作

    创建一张表 删除一张表

    1.2数据操作语句DML

    插入一行数据 数据更新 删除数据

    1.3数据查询语句DQL

    数据查询语句(*代表通配符)


    排序


    二  在Xcode中使用sqlite数据库

    2.1导入库文件

       sqlite是一套c语言的api  想要在Swift中使用Objective-C 或C的类和方法的话,需要创建一个.h 头文件,把你想在 Swift 中使用的 Objective-C 的头文件都包含进来    创建桥接文件需要对文件路径进行配置    不然编译的时候会报错

    做完这三步就可以开始使用sqlite进行数据库操作了

    2.2   打开数据库 及创建一张表

    打开数据库 创建一张表

    2.3数据库操作(DML)及查询语句

    DML语句执行方通常只有一个  我们把它抽取出来  留一个参数传入一条sqlite语句    以下三个截图会用到这个公共方法

    执行sqlite的公共方法

    插入一条数据

    插入一条数据

    更新数据

    更新数据

    删除数据

    删除一条数据

    查询语句   执行方法与以上不同   (比较复杂)

    事务的概念

    作用:事务可以保证多条SQL语句要么一起成功,要么一起失败 可以提升程序性能其实当我们每次调用sqlite3的sqlite3_exec方法时,系统内部都会默认帮我们开启一个事务,但是正是因为这样,所以导致了程序有很严重的性能问题如果在执行SQL语句之前我们自己开启了事务,那么系统就不会再自动的帮我们开启和提交事务了

    原理:开启事务就对数据库做一个备份,提交事务就删除备份,使用修改之后的数据,回滚事务就会删除备份,使用修改之前的数据

    事务回滚

    手动提交事务  性能优化

    数据量大的时候需手动提交事务

    相关文章

      网友评论

          本文标题:iOS开发中本地持久化-SQLite

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