新聞中心
本篇內(nèi)容主要講解“MySQL查詢結(jié)果怎么導(dǎo)出到文件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“MySQL查詢結(jié)果怎么導(dǎo)出到文件”吧!
10年積累的成都網(wǎng)站制作、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有儋州免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
如果需要在查詢語句返回的列中包含一列表示該條記錄在整個(gè)MySQL查詢結(jié)果集中的行號,ISOSQL:2003標(biāo)準(zhǔn)提出的方法是提供ROW_NUMBER()/RANK()函數(shù)。Oracle中可以使用標(biāo)準(zhǔn)方法(8i版本以上),也可以使用非標(biāo)準(zhǔn)的ROWNUM;MSSQLServer則在2005版本中提供了ROW_NUMBER()函數(shù);但在MySQL中似乎還沒有這樣的系統(tǒng)自帶功能。雖然LIMIT可以很方便的對返回的結(jié)果集數(shù)量和位置進(jìn)行過濾,但過濾出來的記錄的行號卻沒辦法被SELECT到。據(jù)說MySQL是早就想增加這個(gè)功能了,但我是還沒找到。
解決方法是通過預(yù)定義用戶變量來實(shí)現(xiàn):
set@mycnt=0;select(@mycnt:=@mycnt1)asROWNUM,othercolfromtblnameorderbyothercol;
這樣查詢出來的結(jié)果集中ROWNUM就保存了行編號信息。這個(gè)行編號信息的某種用途在于當(dāng)你需要根據(jù)需要對數(shù)據(jù)按照某種規(guī)則排序并取出排序之后的某一行數(shù)據(jù),并且希望知道這行數(shù)據(jù)在之前排序中的位置時(shí)就用得著了。比如:
set@mycnt=0;select*from(select(@mycnt:=@mycnt1)asROWNUM,othercolfromtblnameorderbyothercol)asAwhereothercol=OneKeyID;
當(dāng)然你也可以通過創(chuàng)建臨時(shí)表的方法把查詢結(jié)果寫到某個(gè)擁有auto_increment字段的臨時(shí)表中再做查詢,但考慮到臨時(shí)表在MySQLmaster/slave模式下可能產(chǎn)生的問題,用這樣臨時(shí)用戶定義變量的方式來計(jì)算查詢結(jié)果集每一行對應(yīng)的行號還是更為簡潔--除非你愿意在PHP或其他語言腳本中對返回的整個(gè)結(jié)果集再作處理。
MySQL查詢結(jié)果導(dǎo)出到文件的方法有哪些
mysql>select1intooutfile'/tmp/t1.txt';QueryOK,1rowaffected(0.00sec)mysql>select1intooutfile'/tmp/t1.txt';ERROR1086(HY000):File'/tmp/t1.txt'alreadyexists
還可以使用另外一種方法:
mysql>pagercat>/tmp/t1.txtPAGERsetto'cat>/tmp/t1.txt'mysql>select1;\!cat/tmp/t1.txt1rowinset(0.00sec)+---+|1|+---+|1|+---+
這樣你能很方便的查詢到2條sql的差異:
mysql>pagercat>/tmp/t01.txtPAGERsetto'cat>/tmp/t01.txt'mysql>select12345unionselect67890;2rowsinset(0.02sec)mysql>pagercat>/tmp/t02.txtPAGERsetto'cat>/tmp/t02.txt'mysql>select12345unionselect67891;2rowsinset(0.00sec)mysql>\!vimdiff-o/tmp/t0[12].txt2filestoedit+-------+|12345|+-------+|12345||67890|+-------+/tmp/t01.txt+-------+|12345|+-------+|12345||67891|+------+/tmp/t02.txt
到此,相信大家對“MySQL查詢結(jié)果怎么導(dǎo)出到文件”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
名稱欄目:MySQL查詢結(jié)果怎么導(dǎo)出到文件
本文路徑:http://www.dlmjj.cn/article/iisspp.html