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開頭以下劃線隔開,以示區分,說明這是張表)