iOS總結(jié)1 - 數(shù)據(jù)庫sqlite的使用

一燃乍、集成測試環(huán)境

1.在github中搜索FMDB https://github.com/ccgus/fmdb
2.創(chuàng)建測試工程
3.創(chuàng)建podfile 文件褥紫,安裝FMDB pod 'FMDB'
4.導(dǎo)入 #import <FMDB.h> 頭文件

二亿扁、測試用例

1.生成數(shù)據(jù)庫

NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject stringByAppendingPathComponent:@"fm.db"];
FMDatabase *db = [FMDatabase databaseWithPath:path];

2.創(chuàng)建表文件語句

empty.png

3.在里面輸入

create table if not exists T_Person(
    id integer not null primary key autoincrement,
    age integer,
    name text
);
create table if not exists T_Student(
    id integer not null primary key autoincrement,
    age integer,
    name text,
    score integer
);

4.加載sql 語句

NSString *sqlPath = [[NSBundle mainBundle] pathForResource:@"db.sql" ofType:nil];
NSString *sql = [NSString stringWithContentsOfFile:sqlPath encoding:NSUTF8StringEncoding error:nil];

5.執(zhí)行sql語句

   [db open];
    //執(zhí)行多條sql 語句
    BOOL result = [db executeStatements:sql];
    if (result) {
        NSLog(@"創(chuàng)表成功");
    } else {
        NSLog(@"創(chuàng)表失敗");
    }
    [db close];

6.打開火狐瀏覽器如蚜,打開 工具择镇,選擇 附加組件挡逼,點(diǎn)擊左側(cè)的擴(kuò)展,然后右側(cè)的搜索欄里面,輸入sqlite腻豌,點(diǎn)擊 安裝,重啟火狐瀏覽器,點(diǎn)擊工具家坎,打開

Snip20170815_2.png

然后點(diǎn)擊

Snip20170815_3.png

選擇剛才創(chuàng)建好報表的數(shù)據(jù)庫


Snip20170815_4.png

三、 插入吝梅,查詢虱疏,修改,刪除

1.插入

    NSString *insertSql = @"INSERT INTO T_Person(age,name) values(?,?)";
    BOOL insertResult =  [db executeUpdate:insertSql withArgumentsInArray:@[@(18),@"周文剛"]];
    if (insertResult) {
        NSLog(@"插入成功");
    } else {
        NSLog(@"插入失敗");
    }
2.查詢
  //1.簡單查詢
    NSString *selectSql = @"select id,name,age from T_Person";
    FMResultSet *selectResult = [db executeQuery:selectSql];
    while (selectResult.next) {
        NSInteger key = [selectResult intForColumn:@"id"];
        NSString *name = [selectResult stringForColumn:@"name"];
        NSInteger age = [selectResult intForColumn:@"age"];
        NSLog(@"key = %ld,name = %@,age = %ld",(long)key,name,(long)age);
    }

執(zhí)行的結(jié)果

Snip20170815_5.png
  //2.復(fù)雜的查詢
  NSMutableArray *selectArray = [NSMutableArray array];
  FMResultSet *selectResult1 = [db executeQuery:selectSql];
  while (selectResult1.next) {
      NSMutableDictionary *dic = [NSMutableDictionary dictionary];
      NSInteger count = selectResult1.columnCount;
      for (int i = 0; i < count; i++) {
          NSString *colName = [selectResult1 columnNameForIndex:i];
          id colValue = [selectResult1 objectForColumn:colName];
          
          dic[colName] = colValue;
      }
    
      [selectArray addObject:dic];
  
  }
  NSLog(@"%@",selectArray);

運(yùn)行結(jié)果截圖


Snip20170815_6.png
3.更新
    NSString *updateSql = @"update T_Person set name = ?, age = ? where id = ?";
    BOOL resultupdate = [db executeUpdate:updateSql withArgumentsInArray:@[@"小明",@17,@1]];
    if (resultupdate) {
        NSLog(@"更新成功");
    } else {
        NSLog(@"更新失敗");
    }
Snip20170815_7.png

4.刪除

    NSString *deleteSql = @"delete from T_Person where id = 2";
    BOOL resultDelete = [db executeUpdate:deleteSql];
    if (resultDelete) {
        NSLog(@"刪除成功");
    } else {
        NSLog(@"刪除失敗");
    }

運(yùn)行結(jié)果


Snip20170815_8.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末苏携,一起剝皮案震驚了整個濱河市做瞪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌右冻,老刑警劉巖装蓬,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衩侥,死亡現(xiàn)場離奇詭異,居然都是意外死亡矛物,警方通過查閱死者的電腦和手機(jī)茫死,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來履羞,“玉大人峦萎,你說我怎么就攤上這事∫涫祝” “怎么了爱榔?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長糙及。 經(jīng)常有香客問我详幽,道長,這世上最難降的妖魔是什么浸锨? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任唇聘,我火速辦了婚禮,結(jié)果婚禮上柱搜,老公的妹妹穿的比我還像新娘迟郎。我一直安慰自己,他們只是感情好聪蘸,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布宪肖。 她就那樣靜靜地躺著,像睡著了一般健爬。 火紅的嫁衣襯著肌膚如雪控乾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天娜遵,我揣著相機(jī)與錄音蜕衡,去河邊找鬼。 笑死魔熏,一個胖子當(dāng)著我的面吹牛衷咽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蒜绽,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼桶现!你這毒婦竟也來了躲雅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤骡和,失蹤者是張志新(化名)和其女友劉穎相赁,沒想到半個月后相寇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡钮科,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年唤衫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绵脯。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡佳励,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蛆挫,到底是詐尸還是另有隱情赃承,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布悴侵,位于F島的核電站瞧剖,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏可免。R本人自食惡果不足惜抓于,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望浇借。 院中可真熱鬧毡咏,春花似錦、人聲如沸逮刨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽修己。三九已至恢总,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間睬愤,已是汗流浹背片仿。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留尤辱,地道東北人砂豌。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像光督,于是被迫代替她去往敵國和親阳距。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

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