一直以來對資料庫的操作都感覺很麻煩,每次封裝fmdb的工具類都是一件讓人很頭大的事情,在這記錄一下它的一些常用操作,很方便實用
首先,是常用的資料庫語句
增 insert into 表名(欄位1, 欄位2) values(值1, 值2);
刪 delete from 表名 where 字段 = 值
查 select 欄位名(*) from 表名 where 字段 = 值
改 update 表名 set 字段 = 值 where 字段 = 值
然後,建立資料庫的名稱以及路徑
+ (nsstring *)getdbpath
初始化
+ (void)initialize
}
查詢並建立表和表中的字段
//建立表 注意新增 if not exists 判斷是否表已經存在
[_db executeupdate:@"create
table
ifnot
exists 表名 (id integer
notnull, 字段 字段型別, primary
key(id));"];
幾種常用的字段型別: text-字串 integer-數字 blob-data型別 一般建立的時候都會帶一些特定引數,例如時間,日期,版本號等等
查詢,是否存在指定的表
//執行查詢語句 使用count可以獲取滿足條件的記錄的數量 如果使用count函式,獲取時必須使用其別名(as)來獲取 返回yes則存在
fmresultset *set = [_db executequery:@"select count(*) as 'count' from 表名 where 包含的字段 = ?", 欄位的值];
if ([set next])
return no;
刪除操作
//執行刪除語句
[_db executeupdatewithformat:@"delete
from 表名 where 包含的字段 = %@", 欄位的值];
下面介紹一種在資料庫中儲存物件的方法
//模型轉換為二進位制資料 二進位制資料必須保留物件關係 使用歸檔api
nsdata *data = [nskeyedarchiver archiveddatawithrootobject:需要儲存的物件];
[_db executeupdatewithformat:@"replace into 表名(之前建立好的欄位名) values(%@)",data];
這種更新資料庫的方式和上面查詢是否存在的結合使用,很方便
資料庫操作 使用FMDB
ios中原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,就出現了一系列將sqlite api進行封裝的庫,例如fmdb plausibledatabase sqlitepersistentobjects等,fmdb 是一款簡潔 易用的封裝庫,這一篇文章簡單介紹下fmdb的使用...
資料庫操作 使用FMDB
ios中原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,就出現了一系列將sqlite api進行封裝的庫,例如fmdb plausibledatabase sqlitepersistentobjects等,fmdb 是一款簡潔 易用的封裝庫,這一篇文章簡單介紹下fmdb的使用...
資料庫操作 使用FMDB
ios中原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,就出現了一系列將sqlite api進行封裝的庫,例如fmdb plausibledatabase sqlitepersistentobjects等,fmdb 是一款簡潔 易用的封裝庫,這一篇文章簡單介紹下fmdb的使用...