FMDB增刪改查的使用

2021-07-11 17:25:49 字數 2139 閱讀 9987

建立,插入,更新和刪除:使用executeupdate方法,而查詢則用executequery

1.例項化fmdatabase

//paths: ios下document路徑,document為ios中可讀寫的資料夾

nsarray *paths = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);

nsstring *documentdirectory = [paths objectatindex:0];

//dbpath: 資料庫路徑,在document中。

//建立資料庫例項 db 這裡說明下:如果路徑中不存在"test.db"的檔案,sqlite會自動建立"test.db"

fmdatabase *db= [fmdatabase databasewithpath:dbpath] ;

if (![db open])

2.建立表

//建立乙個名為user的表,有兩個字段分別為string型別的name,integer型別的 age

[db executeupdate:@"create table user (name text,age integer)"];

3.插入

//插入資料使用oc中的型別 text對應為nsstring integer對應為nsnumber的整形

[db executeupdate:@"insert into user (name,age) values (?,?)",@"jeffery",[nsnumber numberwithint:20]];

4.更新

//更新資料 

[db executeupdate:@"update user set name = ? where name = ? ",@"hello",@"jeffery"];

5.刪除

//刪除資料

[db executeupdate:@"delete from user where name = ?",@"jeffery"];

6.查詢

//返回資料庫中第一條滿足條件的結果

nsstring *aa=[db stringforquery:@"select name from user where age = ?",@"10"];

//返回全部查詢結果

fmresultset *rs=[db executequery:@"select * from user"];

rs=[db executequery:@"select * from user where age = ?",@"10"];

while ([rs next])

[rs close];

備註:需要提一點就是:執行緒安全

使用fmdatabasequeue很簡單,首先用乙個資料庫檔案位址來初使化fmdatabasequeue,然後就可以將乙個閉包(block)傳入indatabase方法中。 在閉包中運算元據庫,而不直接參與fmdatabase的管理。

// 建立,最好放在乙個單例的類中

fmdatabasequeue *queue = [fmdatabasequeue databasequeuewithpath:apath];

// 使用

[queue indatabase:^(fmdatabase *db)

}];

// 如果要支援事務

[queue intransaction:^(fmdatabase *db, bool *rollback)

// etc…

[db executeupdate:@"insert into mytable values (?)", [nsnumber numberwithint:4]];

}];

為了檢視sqlite中的資料,乙個好的圖形化介面的資料庫管理程式是必不可少的。mysql有phpmyadmin,那麼sqlite呢?

我主要使用的是firefox的乙個名為sqlite manager的外掛程式,安裝此外掛程式後,可以直接開啟字尾名為sqlite的資料庫檔案。sqlite manager提供乙個圖形化的介面來執行資料查詢或更改操作。

swift使用FMDB資料庫增刪改查

資料快取和fmdb是很多程式需要做的事,但是swift又有一些坑,希望這篇文章能對大家有用,除了fmdb資料庫的操作,還有swift單例的寫法,if let在專案中實戰用法,僅供參考 直接上 年 未登入狀態新增到購物車的資料 import uikit class shopcar sqlitetool...

fmdb實現sqlite資料庫的增刪改查功能 上

移動端開發中許多地方需要用到一些資料持久化操作,比如將一些資料直接寫入沙盒,存入偏好設定,歸檔等。但是有些時候需要把一些資料量稍微大一點的東西做本地的儲存,比如用第三方環信做im開發中我們需要將使用者資訊儲存到移動端,所以就使用到了sqlite,一款在移動開發中經常用到的嵌入式資料庫。如果我們使用原...

使用sqlalchemy的增刪改查

from connect import base,session from sqlalchemy import column,integer,string,datetime,boolean from datetime import datetime class user base tablename...