標籤:
1、資料持久化
資料持久化是通過檔案將資料存放區在硬碟上
iOS下主要有四種資料持久化方式
屬性列表
對象歸檔
SQLite資料庫
CoreData
資料持久化對的對比
1.屬性列表、對象歸檔適合小資料量的儲存和查詢操作
2、SQLite、CoreData適合大資料的查詢和錯左
2、SQLite介紹
SQLite是一款輕型的資料庫,是一種關係型資料庫管理系統,它的設計目的是為了嵌入式裝置中進行使用
SQLite佔有資源非常低,非常適合行動裝置中使用,而且它是開源免費的
它誕生於2000年,已經將近有20年的經曆,SQLite3也已經發布,官方網站是www.sqlite.org
3.資料庫語句
SQL語句(DDL、DML、DQL)
DDL
語句包含CREATE和DROP
建立表和刪除表表
DML
其語句包含INSERT、UPDATE和DELETE,他們用于闐間、修改和刪除表中的資料,就是我們常說的增刪改
DQL
其語句包括SELECT,用於查詢資料
4具體的語句
DDL
建立表格
CREATE TABLE 表格名 (欄位1 欄位1的類型,欄位2 欄位2的類型);
刪除表格
DROP TABLE 表格名字;
DML
插入INSERT
INSERT INTO 表格名字 (欄位1,欄位2。。。。) VALUES(數值1,數值2);
刪除DELETE
DELETE FROM 表哥名
如果在刪除資料時,如果沒有刪除條件,將會刪除所有值。如果想按照一定條件來刪除資料,則需要田間where語句 (and表示前後兩個條件都要符合)
UPDATE修改
UPDATE 表的名字 SET 修改修改的欄位名 = 需要修改的值 WHERE篩選條件;
如果需要一次性修改多個欄位的值,選喲將這幾個欄位,用逗號隔開
DQL語句
查詢某一個表格中的資料
使用SELECT語句進行查詢表格中的資料,能夠需要指定查詢的欄位。如果需要查詢所有的欄位,則用統配符*代替
可以使用條件陳述式WHERE,來設定返回資料的篩選條件
排序查詢結果
查詢得到的結果,可以按照關鍵詞ORDER BY來指定排序條件。ASC升序 DESC降序
模糊查詢
使用LIKE關鍵詞,能夠執行模糊查詢,一般使用text類型資料
SELECT *FORM 表格名 WHERE 需要模糊查詢的欄位 LIKE ‘模糊查詢條件,使用%來替代任一字元’
設定顯示的資料數量
在查詢比較多的情況下,如果查詢的結果比較多,查詢速度就會比較慢,並且返回結果所佔據的記憶體也有可能比較大
SELECT * FROM 表格名 ORDER BY age ASC LIMIT x,y;
查詢的結果進行升序排列,從x開始,往後顯示y條資料
約束
在建立表格,設定欄位時,能夠給欄位添加約束條件
簡單約束
不可為空
NOT NULL 用於約束某一個欄位。被NOT NULL約束的欄位,在使用SQL語句插入或者修改的時候,不能設定為空白。
唯一
在同一個表格裡,某一個欄位設定唯一的值。那麼在欄位多條資料中,不能出現重複。
預設值
預設值能夠設定某一個欄位,在沒有設定具體指的條件下,將會被設定成預設值
主鍵約束
之間是用於區分資料表中不同資料的編碼。則整個編碼在沒一個表格中都是獨一無二的。在設計主鍵時應該遵守以下原則
1.主鍵應該對該使用者沒有意義(學號、社會安全號碼沒有具體的意義)
2.主鍵的值,無法修改,主鍵一旦產生,就無法被改變
3.主鍵的值應該由系統自動產生,只有主鍵有系統自動產生,這樣將會完完整整的確保主鍵的完整性
4.一個資料表中,最多隻能有一個主鍵
主鍵的自動成長
AUTOINCREMENT修飾主鍵,可以讓主鍵自動成長
1.插入資料時,手動設定主鍵的值,能夠來設定主鍵
2.如果沒有手動設定的主鍵,則自動使用比前表中資料最大的的資料大一的主鍵
外間約束
兩張表格之間,存在著資料的聯絡。為了能夠通過一個表格的資料,查詢對應的資料,可以是喲個外鍵進行關聯
TABLE(id name age);table(id person ....)
將A中的ID,作為外鍵和B中的Person進行關聯
代碼
注意:使用REFERENCES關鍵詞,能夠綁定外部索引鍵關聯。一般來說,綁定另一張表格中的主鍵是最好的選擇。在插入資料時,需要注意的是,外鍵的值,必須要是能夠在所關聯的表格中,存在並且唯一的相應的資料
多表聯查
在有外部索引鍵關聯的情況下,查詢表格,需要在兩個表格中,同時獲得資料。需要使用到奪標聯查
SELECT * form 表格1 ON 表格1中的欄位=相對用表格2中的欄位
如果想瞭解更多的資料庫關係,http://www.w3school.com.cn/sql/index.asp,可以在這個網站進行學習
我寫這個是給學ios沒有任何資料庫基礎看的。
iOS中資料庫運用之前的準備-簡單的資料庫