基于FMDB的封裝使用

前言

? ? ? ? 關(guān)于數(shù)據(jù)的存儲(chǔ)用過很多方式,F(xiàn)MDB是最開始使用的一種年堆,也是使用最多的吞杭,閑來無事,把自己之前用到的東西变丧,寫下來做個(gè)紀(jì)念芽狗。

使用方法

? ? ? ? 具體到我這里的用法是寫了一個(gè)基于fmdb的數(shù)據(jù)庫(kù)管理類DBManager,主要就是封裝了建表痒蓬,刪表童擎,以及增刪改查等功能,其他的比如計(jì)數(shù)攻晒,排序等一般用不到顾复。然后又有一個(gè)基于DBManager具體使用的基類BaseDB,把具體會(huì)用到的接口用它來包裝鲁捏,最后就是不同的功能需要使用數(shù)據(jù)庫(kù)來做存儲(chǔ)的就繼承BaseDB芯砸,比如UserDB,然后具體實(shí)現(xiàn)其功能就ok了给梅。?

具體使用

1.主要sql語句:

建表:

create table if not exists DBManager (id integer primary key autoincrement,UserGender text,UserName text);

刪表:

drop table DBManager假丧;

插入:

insert into DBManager (UserGender,UserName) values (?,?)

刪除:

- delete from DBManager ?刪除 全部數(shù)據(jù) ??

- delete from DBManager where id = 4? 刪除 符合條件數(shù)據(jù)

修改:

- update DBManager set UserName='Me',UserAge='28'? ? ? ? ? ? ? 更新 全部數(shù)據(jù) 字段

- update DBManager set UserName='Me',UserAge='28' where id = 1? 更新 符合條件數(shù)據(jù) 字段

查詢:

- select count ( * ) from DBManager? 全部數(shù)據(jù)

- select count (name) from DBManager

2.BaseDB方法

func createTable(keys:Array) -> Bool {}

func dropTable() -> Bool {}

func insertData(data:Dictionary) -> Bool {}

func selectData(keys:Array= [],condition:Array? = nil) -> Array? {}

func updateData(keyValues:Dictionary,condition:Array= []) -> Bool {}

func deleteData(name:String = DBManager.name,condition:Array= []) -> Bool {}

3.UserDB方法

func saveUserInfo(data: Dictionary) -> Bool {}

func modify(name:String) -> Bool {}

func modify(userImage:String) -> Bool {}

func modify(gender:String) -> Bool {}

更多sql語句

-統(tǒng)計(jì)查詢

select count(*) from DBManager;

--分頁功能, limit從第幾條記錄開始(起始條數(shù)是0),返回的記錄行數(shù)

select id, name, height, age from DBManager limit 0, 2;

-排序功能,默認(rèn)是升序ASC 动羽、降序DESC包帚,排序是按照指定的條件,由左至右依次排列

select id, name, height, age from DBManager order by name desc, age asc;

--模糊查詢运吓, %可以匹配任何內(nèi)容渴邦, %內(nèi)容%表示只要出現(xiàn)內(nèi)容,都會(huì)被搜索出來羽德,邏輯判斷and or not

select id, name, height, age from DBManager where (name like '%a%' age > 20) or name = 'li';

其他

SQL中的常用關(guān)鍵字

select几莽、insert、update宅静、delete章蚣、from、create、where纤垂、desc矾策、order、by峭沦、group贾虽、table、alter吼鱼、view蓬豁、index等等數(shù)據(jù)庫(kù)中不可以使用關(guān)鍵字來命名表、字段

字段類型菇肃,SQLite將數(shù)據(jù)劃分為以下幾種存儲(chǔ)類型:

integer : 整型值

real : 浮點(diǎn)值

text : 文本字符串

blob : 二進(jìn)制數(shù)據(jù)(比如文件)

條件語句的常見格式

段落與之前的段落中間預(yù)留一行地粪,并且加4個(gè)空格就可以進(jìn)入黑文本狀態(tài)了

where 字段 = 某個(gè)值 ; ? // 不能用兩個(gè) =


where 字段 is 某個(gè)值 ; ? // is 相當(dāng)于 =

where 字段 != 某個(gè)值 ;

where 字段 is not 某個(gè)值 ; ? // is not 相當(dāng)于 !=

where 字段 > 某個(gè)值 ;

where 字段1 = 某個(gè)值 and 字段2 > 某個(gè)值 ;? // and相當(dāng)于C語言中的 &&

where 字段1 = 某個(gè)值 or 字段2 = 某個(gè)值 ;? //? or 相當(dāng)于C語言中的 ||

過多的就不贅述了,感興趣的可以查看demo

參考:

https://github.com/ccgus/fmdb

http://www.cnblogs.com/wendingding/p/3868926.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末琐谤,一起剝皮案震驚了整個(gè)濱河市蟆技,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌斗忌,老刑警劉巖质礼,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異织阳,居然都是意外死亡眶蕉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門唧躲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妻坝,“玉大人,你說我怎么就攤上這事惊窖。” “怎么了厘贼?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵界酒,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我嘴秸,道長(zhǎng)毁欣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任岳掐,我火速辦了婚禮凭疮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘串述。我一直安慰自己执解,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布纲酗。 她就那樣靜靜地躺著衰腌,像睡著了一般新蟆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上右蕊,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天琼稻,我揣著相機(jī)與錄音,去河邊找鬼饶囚。 笑死帕翻,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的萝风。 我是一名探鬼主播嘀掸,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼闹丐!你這毒婦竟也來了横殴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤卿拴,失蹤者是張志新(化名)和其女友劉穎衫仑,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體堕花,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡文狱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了缘挽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瞄崇。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖壕曼,靈堂內(nèi)的尸體忽然破棺而出苏研,到底是詐尸還是另有隱情,我是刑警寧澤腮郊,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布摹蘑,位于F島的核電站,受9級(jí)特大地震影響轧飞,放射性物質(zhì)發(fā)生泄漏衅鹿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一过咬、第九天 我趴在偏房一處隱蔽的房頂上張望大渤。 院中可真熱鬧,春花似錦掸绞、人聲如沸泵三。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽切黔。三九已至砸脊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纬霞,已是汗流浹背凌埂。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留诗芜,地道東北人瞳抓。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像伏恐,于是被迫代替她去往敵國(guó)和親孩哑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

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

  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,453評(píng)論 0 13
  • MYSQL 基礎(chǔ)知識(shí) 1 MySQL數(shù)據(jù)庫(kù)概要 2 簡(jiǎn)單MySQL環(huán)境 3 數(shù)據(jù)的存儲(chǔ)和獲取 4 MySQL基本操...
    Kingtester閱讀 7,813評(píng)論 5 116
  • 每次心里很平靜地坐下翠桦,想去學(xué)習(xí)或者讀一些比較羞澀難懂的書籍時(shí)横蜒,腦子里總是有特別多的思緒和想法,其結(jié)果就是完全學(xué)不進(jìn)...
    hukunkun閱讀 173評(píng)論 0 0
  • 不是殺馬特销凑,是清秀小哥哥 熒幕上的羅福興丛晌,與我所想象的殺馬特不太一樣,他沒有遮住半張臉的頭發(fā)斗幼,沒有夸張繁瑣的飾品澎蛛,...
    一群小魚游來了閱讀 668評(píng)論 0 0