筆者是在ubuntu環(huán)境下測試的:首先創(chuàng)建一個查詢語句的文件 如query.sql(名字你自己取),內(nèi)容大致如下:use datebase_name; //不解釋了吧select xxx from table where where-condition....; //就是一個你需要查詢的語句保存好,現(xiàn)在開始操作:#mysql -h 服務(wù)器ip地址 -u 用戶名 -p密碼 -P 端口 query.sql 輸出的文件名demo: mysql -h 127.0.0.1 -u root -p 1234 -P 3300 query.sql /home/michael/test.txt好了,現(xiàn)在你可以在對應(yīng)的目錄中找到你想要的文件了。
沙灣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
假設(shè)A表有3個字段,ID, DATA1,DATA2
簡單的話可以不使用存儲過程,比如:
select * form A where ID in (select ID from A where DATA1 between 0 and 100)
如果你的應(yīng)用比較復(fù)雜,在嵌套中還有復(fù)雜的運算,存儲過程可以如下例子:
CREATE PROCEDURE test(in_start int,in_end int)
BEGIN
DECLARE ids TEXT;
select GROUP_CONCAT(ID) into ids from A where DATA1 between in_start and in_end;
select * from A where FIND_IN_SET(ID,ids) 0;
END
注: in_start, in_end是DATA1的篩選范圍。 后面一個select直接返回一個表
直接用SQL和使用存儲過程各有利弊,存儲過程在你使用大量查詢及SQL運算的時候效率很高,而且存儲過程一旦寫入數(shù)據(jù)庫會被自動編譯運行速度比較快,而SQL是每次執(zhí)行都需要被編譯一次的。但是存儲過程的調(diào)試比較麻煩,不像你使用編程語言和SQL的時候可以單步調(diào)試。而且如果沒有熟練掌握存儲過程的效率優(yōu)化情況下,使用存儲過程可能比使用SQL更慢。
mysql存儲數(shù)據(jù)的時候都會把數(shù)據(jù)文件存儲到固定的位置,那么我們?nèi)绾尾榭催@個存儲數(shù)據(jù)文件的位置在哪里那?下面我給大家分享一下。
01
首先我們進(jìn)入mysql的安裝目錄,如下圖所示,打開my.ini文件
02
接下來在打開的my.ini文件中,我們找到datadir所在行,如下圖所示,復(fù)制此行的路徑
03
然后我們在路徑輸入框中粘貼此路徑,回車即可進(jìn)入數(shù)據(jù)文件所在的位置,如下圖所示
04
最后如果你想修改數(shù)據(jù)文件的位置,那么直接修改my.ini文件中datadir對應(yīng)的路徑即可,如下圖所示
MySQL 存儲過程中,使用游標(biāo)查詢,返回的是結(jié)果集時,如何查看調(diào)用存儲過程輸出結(jié)果呢?
解決方案:存儲過程不返回數(shù)據(jù),但它能創(chuàng)建和填充另一個表。所以在存儲過程運行中創(chuàng)建臨時表。該臨時表將保存存儲過程中生成的結(jié)果集,在遍歷游標(biāo)時,用insert保存每條數(shù)據(jù)到臨時表中。后續(xù)調(diào)用時可以用select語句查詢臨時表中的存儲過程運行結(jié)果。
以下有 三種方式 使用游標(biāo)創(chuàng)建一個存儲過程,統(tǒng)計某一部門下的員工信息
方法一:Loop循環(huán)
調(diào)用存儲過程:
方法二:While 循環(huán)
調(diào)用存儲過程:
方法三:REPEAT 循環(huán)
調(diào)用存儲過程:
上述三種實現(xiàn)方法在測試過程中遇到下述問題。
調(diào)用存儲過程查詢臨時表輸出結(jié)果時,會發(fā)現(xiàn)多循環(huán)了一次,像這樣:
解決方法:
在遍歷游標(biāo)查詢結(jié)果時,先判斷游標(biāo)的結(jié)束標(biāo)志(done) 是否是為1,如果不是1,則向臨時表中插入數(shù)據(jù)。
文章名稱:mysql怎么查結(jié)果存儲 mysql怎么保存查詢語句
鏈接地址:http://jinyejixie.com/article38/dosdepp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、定制開發(fā)、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)