基本介紹
iOS數(shù)據(jù)庫(kù)使用的是SQLite,一款輕型的嵌入式關(guān)系數(shù)據(jù)庫(kù)几蜻。
安卓和iOS開(kāi)發(fā)使用的都是SQLite數(shù)據(jù)庫(kù)体斩。
它的特點(diǎn):
它占用資源非常的低,在嵌入式設(shè)備中硕勿,可能只需要幾百K的內(nèi)存就夠了枫甲。
它的處理速度比MySQL扼褪、PostgreSQL這兩款著名的數(shù)據(jù)庫(kù)都還快粱栖。
它是C語(yǔ)言框架的,跨平臺(tái)性強(qiáng)幔崖。
主流三方庫(kù)
iOS SDK很早就支持了SQLite渣淤,在使用時(shí),只需要加入 libsqlite3.dylib 依賴以及引入 sqlite3.h 頭文件即可嗅定。但是用踩,原生的SQLite API在使用上相當(dāng)不友好,在使用時(shí)脐彩,非常不便,因此梅誓,一些三方庫(kù)就應(yīng)運(yùn)而生佛南,下面我就例舉幾個(gè)我經(jīng)常使用的三方庫(kù)。
首先是FMDB共虑,如果想學(xué)習(xí)FMDB的使用請(qǐng) 參考github鏈接
以及在FMDB上再次封裝的BGFMDB 參考github鏈接 和LKDBHelper 參考github鏈接
以上三種數(shù)據(jù)庫(kù)各有千秋妈拌,基本上不是太復(fù)雜的數(shù)據(jù)存儲(chǔ)都能滿足。
數(shù)據(jù)庫(kù)使用語(yǔ)句
前端用到最多的還是查詢語(yǔ)句尘分,增、刪著摔、改一般都是很基本的定续,如果使用上面的三方庫(kù)禾锤,則更簡(jiǎn)單摹察,sql語(yǔ)句都不用使用。當(dāng)然一些簡(jiǎn)單的查詢用上面三方庫(kù)也不需要sql語(yǔ)句供嚎。下面就整理下自己在項(xiàng)目中用到的查詢語(yǔ)句
查詢班里叫張三的學(xué)生
select * from table where name = '張三'查詢班里語(yǔ)文成績(jī)最高的學(xué)生
select max(chinese) chineseN, * from table
如果查詢最低將max換成min即可如果語(yǔ)文成績(jī)最高的人不止一個(gè)克滴,要查詢成績(jī)最高的那一群人
select * from table where chinese = (select max(chinese) from table)相鄰查詢,查詢工號(hào)跟你最接近的人(你的工號(hào)99)
select * from table where job in (select max(job) from table where job < 99 union select min(job) from table where job > 99)分組查詢氮凝,查詢每個(gè)分?jǐn)?shù)段有多少人
select count(*) num, * from table group by scores排序望忆,根據(jù)總成績(jī)排序
select * from table order by scores
默認(rèn)正序(asc),如果倒序后面加上desc分組排序查詢启摄,查詢每個(gè)分?jǐn)?shù)段有多少人并根據(jù)總分排序
select count(*) num, * from table group by scores order by scores分組最高查詢,查詢每個(gè)分?jǐn)?shù)段有多少人傅是,并找出每個(gè)分?jǐn)?shù)段語(yǔ)文最高成績(jī)
select count(*) num, max(chinese) chinese, * from table group by scores連表查詢
select tableA .* , tableB.* from tableA inner join tableB on tableA.id = tableB.id左連接表查詢(左邊這個(gè)表數(shù)據(jù)全部顯示)
select tableA .* , tableB.* from tableA left outer join tableB on tableA.id = tableB.id
SQLite3不支持右連接和全連接派生查詢
將條件拆開(kāi)查詢蕾羊,比喻查詢名稱叫張三的男生,可以先查詢出所有男生书闸,形成一張臨時(shí)表利凑,然后再在里面查詢名稱叫張三的
select * from (select * from table where sex = '男') where name = '張三'
先排序再分組(查詢最新標(biāo)題一樣版本最新的數(shù)據(jù))
如果使用select * from table order by version group by title 這個(gè)語(yǔ)句則會(huì)報(bào)錯(cuò),現(xiàn)在就可以使用派生查詢
select * from (select * from table order by version) group by title
寫(xiě)這篇文章主要是加深自己的記憶牌借,如果能給大家提供幫助那就更好了割按,我也會(huì)定期更新自己遇見(jiàn)過(guò)的數(shù)據(jù)語(yǔ)句