FMDB框架的使用

帶隊(duì)列的FMDB框架的使用(重點(diǎn))

 使用FMDBqueue操作數(shù)據(jù)庫(kù),保障線(xiàn)程安全,加入隊(duì)列中.
 步驟:
1. 導(dǎo)入FMDB第三方庫(kù)
2. 導(dǎo)入sqliet3.0官方框架
3. swift版創(chuàng)建橋接文件(手動(dòng)添加搜brid...)
---------------------------------
代碼部分
4. 創(chuàng)建單例sqliteManager.
5. 在appdelegate中打開(kāi)數(shù)據(jù)庫(kù).(有好幾步,打開(kāi)并連接數(shù)據(jù)庫(kù),創(chuàng)建表)
 //先拼接沙盒路徑
 // 初始化FMDBQueue的隊(duì)隊(duì),如果沒(méi)有數(shù)據(jù)庫(kù), 會(huì)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù), 并且連接數(shù)據(jù)庫(kù)
 dbQueue = FMDatabaseQueue(path: dbPath!)

 func createTable () -> Void { 
 //創(chuàng)建表的sql表
 let sql = "CREATE TABLE IF NOT EXISTS 't_student' (\n" +
 "'id' INTEGER NOT NULL,\n" +
 "'name' text NOT NULL,\n" +
 "'sex' TEXT NOT NULL,\n" +
 "PRIMARY KEY('id')\n" +
 ")"

 dbQueue?.inDatabase({ (db) in
 do {
執(zhí)行sql語(yǔ)句使表創(chuàng)建
 try db?.executeUpdate(sql, values: nil)
 } catch {
 print(error)
 }
 })
 }
6. 在模型內(nèi)增刪改查
同創(chuàng)建表代碼只是更換了sql語(yǔ)句
改
 let sql = "update 't_student' set 'name'='\(name!)' where id=\(id)" 
刪
 let sql = "delete from 't_student' where name='\(name!)'" 
增
 let sql = "insert into 't_student' ( 'sex', 'name') values (\(sex), '\(name!)')" 
查:查方法相對(duì)復(fù)雜
1. 執(zhí)行你要查詢(xún)的sql語(yǔ)句(外部傳進(jìn)來(lái)).根據(jù)sql語(yǔ)句獲取結(jié)果集
2. 步進(jìn)(遍歷)結(jié)果集,逐條獲取數(shù)據(jù)(或者獲取你想要的數(shù)據(jù).)
3. 用數(shù)據(jù)生成字典,將字典生成數(shù)組返回

數(shù)據(jù)庫(kù)介紹

是一個(gè)二進(jìn)制文件,以表的形式存儲(chǔ)數(shù)據(jù),表:模型數(shù)組.表的每一行相當(dāng)于模型.每一列的字段:相當(dāng)于模型中的屬性.

特點(diǎn):每一個(gè)表里面有一個(gè)唯一的id去標(biāo)示一條數(shù)據(jù).名稱(chēng)叫主鍵(mainKey),引用某個(gè)表的數(shù)據(jù),應(yīng)該存該表的主鍵(另一張表的),但是在這張表中叫外鍵.

主鍵的特點(diǎn):1. 唯一性,2. Int, 3. 自增長(zhǎng)的(不設(shè)置自己往后添加id).

  • 是一種輕量級(jí),嵌入式的數(shù)據(jù)庫(kù).

      1. 輕量級(jí):小
      2. 嵌入式:就是一個(gè)文件
    
  • **使用特點(diǎn):創(chuàng)建表,增,刪,改,查(統(tǒng)計(jì)) **
    1. creat
    2. select(查詢(xún))查
    3. insert(插入)增
    4. delete(刪)
    5. update(改)
    6. 條件查詢(xún)

  • 數(shù)據(jù)庫(kù)的種類(lèi)
    • sqllite(就是一個(gè)文件),使用場(chǎng)景:app開(kāi)發(fā)使用
    • mysql
    • oracle
    • sqlserver
  • 怎么去操作數(shù)據(jù)庫(kù):** sql語(yǔ)句 **
sql的語(yǔ)法:
安裝破解的數(shù)據(jù)庫(kù)可視化工具.
1. 怎么寫(xiě)sql(字符串去使用)
     1.1 創(chuàng)建表
     創(chuàng)建表的sql語(yǔ)句
 CREATE TABLE "bossTable" (
 "id" INTEGER NOT NULL,
 "name" TEXT NOT NULL,
 "age" INTEGER NOT NULL,
 PRIMARY KEY("id")
 )
     1.2 增
 insert into "bossTable" ( "age", "name") values ( 22, 'lili')
     1.3 刪(通過(guò)name鍵刪除不能加'name',是通過(guò)這個(gè)鍵找,不是字符串)
delete from "bossTable" where id=3
     1.4 改
update "bossTable" set "age"=20 where id=3
     1.5 查
 select * from bossTable where id = 1
2. 怎么執(zhí)行sql(iOS中),在項(xiàng)目當(dāng)中操作sqllite
     2.1. 添加數(shù)據(jù)庫(kù)框架
     2.2. 添加橋接文件(取巧的方式,創(chuàng)建OC文件創(chuàng)建橋接文件,刪除OC文件),導(dǎo)入sqlite3的框架頭文件
     3.2. 創(chuàng)建數(shù)據(jù)庫(kù)單例.
4. 數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)操作需求(打開(kāi)和關(guān)閉數(shù)據(jù)庫(kù)都消耗性能,只需要打開(kāi)不需要我們手動(dòng)關(guān)閉)
     4.1 建立數(shù)據(jù)庫(kù)(打開(kāi)并連接),如果沒(méi)有就創(chuàng)建,有就打開(kāi)
     4.2 創(chuàng)建table(本質(zhì)是執(zhí)行sql語(yǔ)句),將sql語(yǔ)句換成單引號(hào)
     4.3 實(shí)現(xiàn)增刪改查語(yǔ)句sql字符串.

事務(wù)通過(guò)事務(wù)操作效率很快(大量數(shù)據(jù)時(shí)),但是很少使用,批量操作數(shù)據(jù).

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末妓布,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子向图,更是在濱河造成了極大的恐慌,老刑警劉巖摇锋,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜕提,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡勒魔,警方通過(guò)查閱死者的電腦和手機(jī)践图,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)掺冠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人码党,你說(shuō)我怎么就攤上這事德崭。” “怎么了揖盘?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵眉厨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我兽狭,道長(zhǎng)憾股,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任箕慧,我火速辦了婚禮服球,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘颠焦。我一直安慰自己斩熊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布伐庭。 她就那樣靜靜地躺著粉渠,像睡著了一般分冈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上霸株,一...
    開(kāi)封第一講書(shū)人閱讀 52,785評(píng)論 1 314
  • 那天雕沉,我揣著相機(jī)與錄音,去河邊找鬼去件。 笑死坡椒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的箫攀。 我是一名探鬼主播,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼幼衰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼靴跛!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起渡嚣,我...
    開(kāi)封第一講書(shū)人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤梢睛,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后识椰,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體绝葡,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年腹鹉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了藏畅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡功咒,死狀恐怖愉阎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情力奋,我是刑警寧澤榜旦,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站景殷,受9級(jí)特大地震影響溅呢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜猿挚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一咐旧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绩蜻,春花似錦休偶、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)词顾。三九已至,卻和暖如春碱妆,著一層夾襖步出監(jiān)牢的瞬間肉盹,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工疹尾, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留上忍,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓纳本,卻偏偏與公主長(zhǎng)得像窍蓝,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子繁成,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容