iOS开发数据库篇—SQLite简单介绍

时间:2022-03-08 14:20:50

iOS开发数据库篇—SQLite简单介绍

一、离线缓存

在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等。
说明:离线缓存一般都是把数据保存到项目的沙盒中。有以下几种方式
(1)归档:NSCodeing、NSKeyedArchiver
(2)偏好设置:NSUserDefaults
(3)Plist存储:writeToFile
提示:上述三种方法都有一个致命的缺点,那就是都无法存储大批量的数据,有性能的问题。
举例:使用归档
iOS开发数据库篇—SQLite简单介绍
两个问题:
(1)数据的存取都必须是完整的,要求写入的时候要一次性写入,读取的时候要一次性全部读取,这涉及到应用的性能问题。
(2)如果有1000条数据,此时要把第1001条数据存入,那么需要把所有的数据取出来,把这条数据加上去之后,再存入。
说明:以上的三种技术不能处理大批量数据的存储,大批量数据通常使用数据库来进行存储。
 二、SQLite简单介绍

1.ios中数据的存储方式

(1)Plist(NSArray\NSDictionary)

(2)Preference(偏好设置\NSUserDefaults)

(3)NSCoding(NSKeyedArchiver\NSkeyedUnarchiver)

(4)SQLite3

  (5)Core Data

说明:

3是版本号,是SQLite的第三个版本。
core Data是对SQLite的封装,因为iOS中使用的SQLite是纯C语言的。
2.SQLite

(1)什么是SQLite?

答:SQLite是一款轻型的嵌入式数据库,安卓和ios开发使用的都是SQLite数据库

(2)特点(优点)

  答:1)它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了

  2)它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快

(3)什么是数据库

答:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

(4)数据库的分类

答:可以分为2大种类

关系型数据库(主流)和对象型数据库(直接把内存中的对象塞入到数据库,对比关系型数据库而言性能不能很好,效率不高)

(5)常用关系型数据库有哪些?

答:PC端:Oracle、MySQL、SQL Server、Access、DB2、Sybase

  嵌入式\移动客户端:SQLite

(6)数据库是如何存储数据的?

答:数据库的存储结构和excel很像,以表(table)为单位 。表由多个字段(列、属性、column)组成,表里面的每一行数据称为记录

iOS开发数据库篇—SQLite简单介绍

(7)数据库存储数据的步骤?

1)新建一张表(table)

2)添加多个字段(column,列,属性)

3)添加多行记录(row,record,每行存放多个字段对应的值)

三、Navicat

Navicat是一款著名的数据库管理软件,支持大部分主流数据库(包括SQLite)

1.Navicat的安装

(1)下载该软件后,先打开该软件

iOS开发数据库篇—SQLite简单介绍

iOS开发数据库篇—SQLite简单介绍

(2)把文件拖入到应用程序拷贝

iOS开发数据库篇—SQLite简单介绍

(3)破解版,千万不要打开app,先打开sn.app

  iOS开发数据库篇—SQLite简单介绍

(4)点击patch,找到应用程序的路径,点击open.

iOS开发数据库篇—SQLite简单介绍

  iOS开发数据库篇—SQLite简单介绍

(5)点击Generate,生成注册码

iOS开发数据库篇—SQLite简单介绍

(6)点击activate,选择文件,open

iOS开发数据库篇—SQLite简单介绍

iOS开发数据库篇—SQLite简单介绍

(7)退出sn,打开安装文件,完成安装

  iOS开发数据库篇—SQLite简单介绍

2.Navicat的使用

  新建一个SQLite3数据库

iOS开发数据库篇—SQLite简单介绍

创建一个新的数据库

iOS开发数据库篇—SQLite简单介绍

设置数据库保存的位置(新建一个文件夹):

iOS开发数据库篇—SQLite简单介绍

起个名称之后,保存

iOS开发数据库篇—SQLite简单介绍

设置数据库连接的名称

  iOS开发数据库篇—SQLite简单介绍

完成之后,双击连接数据库

iOS开发数据库篇—SQLite简单介绍

注意:yangyong是连接名称,不是数据库,利用yangyong这个连接,连接了main数据库。几项依次是表、视图、索引、触发器、查询。

新建一张表,设置字段名

iOS开发数据库篇—SQLite简单介绍

保存,设置表名(建议以t开头以下划线隔开,以示区分,说明这是张表)

iOS开发数据库篇—SQLite简单介绍