国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

mysql代碼執(zhí)行結(jié)構(gòu)實(shí)例分析【順序、分支、循環(huán)結(jié)構(gòu)】

瀏覽:4日期:2023-10-15 13:37:29

本文實(shí)例講述了mysql代碼執(zhí)行結(jié)構(gòu)。分享給大家供大家參考,具體如下:

本文內(nèi)容: 什么是代碼執(zhí)行結(jié)構(gòu) 順序結(jié)構(gòu) 分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu)

首發(fā)日期:2018-04-18

什么是代碼執(zhí)行結(jié)構(gòu): 這里所說的代碼執(zhí)行結(jié)構(gòu)就是多條sql語(yǔ)句的執(zhí)行順序。 代碼執(zhí)行結(jié)構(gòu)主要用于觸發(fā)器、存儲(chǔ)過程和函數(shù)等存儲(chǔ)多條sql語(yǔ)句中。順序結(jié)構(gòu): 順序結(jié)構(gòu)就是從上到下依次執(zhí)行sql語(yǔ)句 一般默認(rèn)情況下都是順序結(jié)構(gòu)分支結(jié)構(gòu): 分支結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,它會(huì)依據(jù)我們給定的條件來選擇執(zhí)行那些sql語(yǔ)句 mysql中分支結(jié)構(gòu)只有if-else: 語(yǔ)法:

if 條件 then sql語(yǔ)句[elseif 條件 then sql語(yǔ)句][else sql語(yǔ)句]end if; 示例:

-- create table pass(id int primary key auto_increment,name varchar(15),score int );create table unpass(id int primary key auto_increment,name varchar(15),score int);-- 使用存儲(chǔ)過程來create procedure myif(in name varchar(15),in score int)begin if score >=60 then insert into pass(name,score) values(name,score); else insert into unpass(name,score) values(name,score); end if;end;-- 調(diào)用,并查看結(jié)果call myif('lilei',61);call myif('hanmeimei',95);select * from pass;select * from unpass;call myif('tuhao',59);select * from unpass; if中的條件基本可以參照select語(yǔ)句的while子句的條件。什么innot in = != 等都可以用。

create procedure myif3(in a char(1))begin if a in(’a’,’b’) then select 1; else select 2; end if;end;call myif3(’a’);call myif3(’b’);call myif3(’c’); 補(bǔ)充: 理論上,如果做出判斷不符合,然而又不想繼續(xù)執(zhí)行下去的時(shí)候,應(yīng)該執(zhí)行返回(比如C語(yǔ)言的return來中斷函數(shù)運(yùn)行),但mysql中并沒有對(duì)應(yīng)的中斷機(jī)制,所以需要我們主動(dòng)中斷(中斷的方法有很多種,比如執(zhí)行一條符合語(yǔ)法但無法運(yùn)行的語(yǔ)句)【這種場(chǎng)景比如有:判斷一名學(xué)生是否存在,不存在就不執(zhí)行任何操作,所以應(yīng)該執(zhí)行一條無法成功運(yùn)行的語(yǔ)句來報(bào)錯(cuò)返回。】 事實(shí)上,還存在一種分支結(jié)構(gòu):case when 【好像好多書都沒怎么講到,所以這里不講述。有興趣的可以自行百度。】循環(huán)結(jié)構(gòu): 循環(huán)結(jié)構(gòu)是指在程序中需要反復(fù)執(zhí)行某個(gè)功能而設(shè)置的一種程序結(jié)構(gòu)。mysql中循環(huán)結(jié)構(gòu)用于循環(huán)多次運(yùn)行同一sql語(yǔ)句。 mysql中的循環(huán)結(jié)構(gòu)有l(wèi)oop結(jié)構(gòu)、while結(jié)構(gòu)、repeat結(jié)構(gòu),這里只講述while結(jié)構(gòu),有興趣了解其他的可以自行百度。 mysql代碼執(zhí)行結(jié)構(gòu)實(shí)例分析【順序、分支、循環(huán)結(jié)構(gòu)】 語(yǔ)法:

while 條件 do sql語(yǔ)句end while; 學(xué)過其他語(yǔ)言的可能會(huì)了解到循環(huán)結(jié)構(gòu)中有continue(提前結(jié)束此次循環(huán))和break(跳出整個(gè)循環(huán)) 在mysql的循環(huán)結(jié)構(gòu)中,使用leave來代替break,使用iterate來代替continue,但它們的使用語(yǔ)法是:leaveiterate 循環(huán)名,所以如何定義循環(huán)名呢?

循環(huán)名:while 條件 do sql語(yǔ)句; leaveiterate 循環(huán)名;end while; 示例:

-- 無意義的一個(gè)例子,僅作演示create table whilenum(id int);-- 自帶條件的create procedure mywhile()begin declare num int; set num=10; c1:while num>0 do insert into whilenum values(num); set num=num-1; end while;end;-- 以傳入?yún)?shù)作為條件的create procedure mywhile2(in num int)begin c1:while num>0 do insert into whilenum values(num); set num=num-1; end while;end;-- 帶中斷的create procedure mywhile3(in num int)begin c1:while num>0 do if num%2=0 then set num=num-1; iterate c1; end if; insert into whilenum values(num); set num=num-1; end while;end;

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過程技巧大全》、《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 久草视频大全 | 亚洲国产成人在线观看 | 精品国产香蕉伊思人在线 | 久久精品成人免费网站 | 男吃女下面刺激视频免费 | 美女张开腿让人捅 | 99精品久久久久久久 | 色黄网站aaaaaa级毛片 | 国产精品亚洲欧美日韩区 | 亚洲国产另类久久久精品小说 | 日本高清乱偷www | 国产成人精品视频一区 | 在线观看一区二区三区四区 | 国产一区二区三区国产精品 | 久久免费视频网站 | 女人成午夜大片7777在线 | 国产精品亚洲片在线不卡 | 宫女淫春 | 久久精品综合免费观看 | 国产成人免费高清视频网址 | 日韩在线视频一区二区三区 | 一区二区三区在线视频观看 | 国产精品亚洲精品爽爽 | 日韩三级黄色片 | 国产在线观看高清精品 | 视频二区 中文字幕 欧美 | 国产精品国产三级国产专播 | 国产一有一级毛片视频 | 国产亚洲一欧美一区二区三区 | 精品在线免费观看 | 久久久香蕉| www.午夜| 日韩精品一区二区三区毛片 | 99视频在线永久免费观看 | 亚洲一区二区三区高清网 | 成人免费福利片在线观看 | 国产成人午夜性a一级毛片 国产成人午夜性视频影院 国产成人香蕉久久久久 | 久久精品免费一区二区三区 | a级毛片免费播放 | 日本韩国欧美在线观看 | 亚洲羞羞裸色私人影院 |