三十四:Django之查詢

一:打開(kāi)mysql的日志文件

1.進(jìn)入mysql執(zhí)行以下命令:set global general_log=on;

2.查看日志文件的位置:show variables like 'general_log_file';

3.打開(kāi)日志文件:sudo tail -f /usr/local/mysql/data/shuai.log

這樣就可以實(shí)時(shí)看到mysql的操作了(注意:以上的操作針對(duì)的是mac電腦)

二:查詢函數(shù)

通過(guò)模型類.objects屬性可以調(diào)用如下函數(shù)柒竞,實(shí)現(xiàn)對(duì)模型類敵營(yíng)的數(shù)據(jù)表的查詢

1.get函數(shù)

2.all函數(shù)

3.filter函數(shù)

條件格式:模型類屬性名__條件名=值

a.判等(條件名可省略) 條件名:exact

b.模糊查詢

包含:contains

查詢標(biāo)題包含‘傳’

以‘x’結(jié)尾:endswith

查詢標(biāo)題以‘部’結(jié)尾

以‘x’開(kāi)頭:startswith

查詢標(biāo)題以‘天’開(kāi)頭

c.空查詢 isnull

查詢標(biāo)題不為空

d.范圍查詢 in

查詢id=1或id=3或id=5的圖書(shū)

e.比較查詢:gt 大于 ? ?lt 小于 ? ?gte 等于

查詢id大于3的圖書(shū)

查詢id小于5的圖書(shū)

f.日期查詢

查詢1980年發(fā)表的圖書(shū)

查詢5月份發(fā)表的圖書(shū)

查詢1980年1月1日后發(fā)表的圖書(shū)

4.exclude函數(shù)

使用方法與filter一樣,返回結(jié)果相反

5.order__by函數(shù)

作用:對(duì)查詢結(jié)果進(jìn)行排序

查詢所有圖書(shū)信息熙掺,按照id升序排序

查詢所有圖書(shū)信息寡具,按照id降序排序

把id大于3的圖書(shū)按照閱讀量降序排序

6.F對(duì)象

作用:用于類屬性之間的比較

使用前需要先導(dǎo)入:from Django.db.models import F

查詢圖書(shū)閱讀量大于評(píng)論量圖書(shū)信息

查詢圖書(shū)閱讀量大于2倍評(píng)論量圖書(shū)信息

7.Q對(duì)象

作用:用于查詢時(shí)條件之間的邏輯關(guān)系慌随。 not and or,可以對(duì)Q對(duì)象進(jìn)行 &|~ 操作。

使用前需要先導(dǎo)入:from django.db.models import Q

查詢id大于3且閱讀量大于30的圖書(shū)信息

查詢d大于3或者閱讀量大于30的圖書(shū)信息

查詢id不等于3圖書(shū)的信息

三:聚合函數(shù)

作用:對(duì)查詢結(jié)果進(jìn)行聚合操作

sum count avg max min

agreegate:調(diào)用詞此還書(shū)進(jìn)行聚合黍聂;返回值是一個(gè)字典

使用前需先導(dǎo)入聚合類:

from django.db.models import Sum,Count,Avg,Max,Min

例:查詢所有圖書(shū)的數(shù)目

例:查詢所有圖書(shū)閱讀量總和

1.count函數(shù)

返回值是一個(gè)數(shù)字

作用:統(tǒng)計(jì)滿足條件數(shù)據(jù)的數(shù)目

例:統(tǒng)計(jì)所有圖書(shū)的數(shù)目

例:統(tǒng)計(jì)id大于3的所有圖書(shū)的數(shù)目

四:查詢集

all譬圣,filter瓮恭,exclude,order_by調(diào)用這些函數(shù)會(huì)產(chǎn)生一個(gè)查詢集

QuerySet類對(duì)象可以繼續(xù)調(diào)用上面的所有函數(shù)

查詢集特征:

1.惰性查詢:只有在世紀(jì)使用查詢集中的數(shù)據(jù)的時(shí)候才會(huì)發(fā)生對(duì)數(shù)據(jù)庫(kù)的真正查詢

2.緩存:當(dāng)使用的是同一個(gè)查詢集時(shí)厘熟,第一次的時(shí)候會(huì)發(fā)生實(shí)際數(shù)據(jù)庫(kù)的查詢屯蹦,然后把結(jié)果緩存起來(lái)维哈,之后再使用這個(gè)查詢集時(shí),使用的是緩存中的結(jié)果

限制查詢集:

可以對(duì)一個(gè)查詢集進(jìn)行取下標(biāo)或切片操作來(lái)限制查詢集的結(jié)果登澜。

對(duì)一個(gè)查詢集進(jìn)行切片操作會(huì)產(chǎn)生一個(gè)新的查詢集阔挠,下表不允許為負(fù)數(shù)。

取出查詢集第一條數(shù)據(jù)的兩種方式:

五:總結(jié)

查詢相關(guān)函數(shù)

get:返回一條且只能有一條數(shù)據(jù)脑蠕,返回值是一個(gè)對(duì)象购撼,參數(shù)可以寫(xiě)查詢條件。

all:返回模型類對(duì)應(yīng)表的所有數(shù)據(jù)谴仙,返回值是QuerySet迂求。

filter:返回滿足條件的數(shù)據(jù),返回值是QuerySet晃跺,參數(shù)可以寫(xiě)查詢條件

exclude:返回不滿足條件的數(shù)據(jù)揩局,返回值是QuerySet,參數(shù)可以寫(xiě)查詢條件

order_by:對(duì)查詢結(jié)果進(jìn)行排序哼审,返回值是QuerySet谐腰,參數(shù)中寫(xiě)排序的字段

from Django.models import F,Q,Sum,Count,Avg,Max,Min

F對(duì)象:用于類屬性之間的比較

Q對(duì)象:用于條件之間的邏輯關(guān)系

aggregate:進(jìn)行聚合操作,返回值是一個(gè)字典涩盾,進(jìn)行聚合的時(shí)候需要先導(dǎo)入聚合類

count:返回結(jié)果集中數(shù)據(jù)的數(shù)目十气,返回值是一個(gè)數(shù)字

??:對(duì)一個(gè)QuerySet實(shí)例對(duì)象,可以繼續(xù)調(diào)用上面的所有函數(shù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末春霍,一起剝皮案震驚了整個(gè)濱河市砸西,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌址儒,老刑警劉巖芹枷,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異莲趣,居然都是意外死亡鸳慈,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門喧伞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)走芋,“玉大人,你說(shuō)我怎么就攤上這事潘鲫∥坛眩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵溉仑,是天一觀的道長(zhǎng)挖函。 經(jīng)常有香客問(wèn)我,道長(zhǎng)浊竟,這世上最難降的妖魔是什么怨喘? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任津畸,我火速辦了婚禮,結(jié)果婚禮上必怜,老公的妹妹穿的比我還像新娘洼畅。我一直安慰自己,他們只是感情好棚赔,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著徘郭,像睡著了一般靠益。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上残揉,一...
    開(kāi)封第一講書(shū)人閱讀 49,821評(píng)論 1 290
  • 那天胧后,我揣著相機(jī)與錄音,去河邊找鬼抱环。 笑死壳快,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的镇草。 我是一名探鬼主播眶痰,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼梯啤!你這毒婦竟也來(lái)了竖伯?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤因宇,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體讥耗,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚪缀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贺辰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片户盯。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖魂爪,靈堂內(nèi)的尸體忽然破棺而出先舷,到底是詐尸還是另有隱情,我是刑警寧澤滓侍,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布蒋川,位于F島的核電站,受9級(jí)特大地震影響撩笆,放射性物質(zhì)發(fā)生泄漏捺球。R本人自食惡果不足惜缸浦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望氮兵。 院中可真熱鬧裂逐,春花似錦、人聲如沸泣栈。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)南片。三九已至掺涛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間疼进,已是汗流浹背薪缆。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留伞广,地道東北人拣帽。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像嚼锄,于是被迫代替她去往敵國(guó)和親减拭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349