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

一、离线缓存

在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等。

说明:离线缓存一般都是把数据保存到项目的沙盒中。有以下几种方式

(1)归档:NSCodeing、NSKeyedArchiver

(2)偏好设置:NSUserDefaults

(3)Plist存储:writeToFile

提示:上述三种方法都有一个致命的缺点,那就是都无法存储大批量的数据,有性能的问题。

举例:使用归档


两个问题:

(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)组成,表里面的每一行数据称为记录


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

1)新建一张表(table)

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

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

三、Navicat

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

1.Navicat的安装

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


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


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


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


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


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


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


2.Navicat的使用

  新建一个SQLite3数据库


创建一个新的数据库


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


起个名称之后,保存


设置数据库连接的名称


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


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

新建一张表,设置字段名


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

时间: 2024-08-01 18:28:14

iOS开发数据库篇—SQLite简单介绍的相关文章

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

一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 对比苹果自带的Core Data框架,更加轻量级和灵活 提供了多线程安全的数据库操作方法,有效地防止数据混乱 3.FMDB的github地址 https://github.com/ccgus/fmdb 二.核心类 FMDB有三个主要的类 (1)FMDatabase 一个FMDatabase

iOS开发拓展篇-XMPP简单介绍

iOS开发拓展篇-XMPP简单介绍 一.即时通讯简单介绍 1.简单说明 即时通讯技术(IM)支持用户在线实时交谈.如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容 有许多的IM系统,如AOL IM.Yahoo IM. MSN以及QQ,它们最大的区别在于各自通讯协议的实现,所以即时通讯技术的核心在于它的传输协议 协议用来说明信息在网络上如何传输,如果有了统一的传输协议,那么应当可以实现各个IM之间的直接通讯,为了创建即时通讯的统一标准,目前已

iOS开发UI篇—UIWindow简单介绍

一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了 一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow.也就说,没有UIWindow,就看不见任何UI界面 补充:UIWindow是创建的第一个视图控件(创建的第一个对象是UIapplication)如下图:

iOS开发拓展篇—UIDynamic(简单介绍)

一.简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象 如:重力.弹性碰撞等现象 2.物理引擎的价值 广泛用于游戏开发,经典成功案例是"愤怒的小鸟" 让开发人员可以在远离物理学公式的情况下,实现炫酷的物理仿真效果 提高了游戏开发效率,产生更多优秀好玩的物理仿真游戏 3.知名的2D物理引擎 Box2d Chipmunk 二.使用步骤 要想使用UIDynamic来实现物

ios开发UI篇—Kvc简单介绍

一.KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC相对的时KVO,即key valued observer 键值观察.监听某一个模型的属性,只要模型属性的值一变化就通知你. 二.使用KVC 1.KVC基本使用介绍 (1)代码示例: 新建一个命令行项目,用以演示KVC的用法 完成之后为项目添加一个Person类. 为Person类添加两个属性(name和age),注意这两个属性的类型. 1 #import <Foundation/Fo

iOS开发UI篇—popoverController简单介绍

一.简单介绍 1.什么是UIPopoverController 是iPad开发中常见的一种控制器(在iPhone上不允许使用) 跟其他控制器不一样的是,它直接继承自NSObject,并非继承自UIViewController 它只占用部分屏幕空间来呈现信息,而且显示在屏幕的最前面 2.使用步骤 要想显示一个UIPopoverController,需要经过下列步骤 (1)设置内容控制器 由于UIPopoverController直接继承自NSObject,不具备可视化的能力.因此UIPopover

iOS开发UI篇—Quartz2D简单介绍

一.什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成PDF 截图\裁剪图片 自定义UI控件 二.Quartz2D在iOS开发中的价值 为了便于搭建美观的UI界面,iOS提供了UIKit框架,⾥⾯有各种各样的UI控件 UILabel:显⽰文字 UIImageView:显示图片 UIButton:同时显示图片和⽂字(能点击) 利⽤UIKi

iOS开发多线程篇—多线程简单介绍

一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcode,系统就会分别启动2个进程 通过"活动监视器"可以查看Mac系统中所开启的进程 2.什么是线程 1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程) 线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行 比如使用酷狗播放音乐.使用迅雷下载电影,都需要在线程中执行 3.线程的串行 1个线程中任务的执

iOS开发拓展篇—CoreLocation简单介绍

一.简介 1.在移动互联网时代,移动app能解决用户的很多生活琐事,比如 (1)导航:去任意陌生的地方 (2)周边:找餐馆.找酒店.找银行.找电影院 2.在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发 (1)Map Kit :用于地图展示 (2)Core Location :用于地理定位 3.两个热门专业术语 (1)LBS :Location Based Service(基于定位的服务) (2)SoLoMo :Social Local Mobi