婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

熱門標(biāo)簽:云南大數(shù)據(jù)外呼系統(tǒng) 機(jī)器人打電銷電話 南寧外呼系統(tǒng)招商 博樂電銷機(jī)器人 鄭州網(wǎng)絡(luò)外呼系統(tǒng)價(jià)錢 400電話到哪辦理優(yōu)惠 怎么更改高德地圖標(biāo)注 上海市三維地圖標(biāo)注 電話機(jī)器人是電腦呼號(hào)嗎

本文實(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語句的執(zhí)行順序。
  • 代碼執(zhí)行結(jié)構(gòu)主要用于觸發(fā)器、存儲(chǔ)過程和函數(shù)等存儲(chǔ)多條sql語句中。

順序結(jié)構(gòu):

  • 順序結(jié)構(gòu)就是從上到下依次執(zhí)行sql語句
  • 一般默認(rèn)情況下都是順序結(jié)構(gòu)

分支結(jié)構(gòu):

  • 分支結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,它會(huì)依據(jù)我們給定的條件來選擇執(zhí)行那些sql語句
  • mysql中分支結(jié)構(gòu)只有if-else:
    • 語法:
      if 條件 then
       sql語句
      [elseif 條件 then
       sql語句]
      [else
       sql語句]
      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語句的while子句的條件。什么in\not 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語言的return來中斷函數(shù)運(yùn)行),但mysql中并沒有對(duì)應(yīng)的中斷機(jī)制,所以需要我們主動(dòng)中斷(中斷的方法有很多種,比如執(zhí)行一條符合語法但無法運(yùn)行的語句)【這種場(chǎng)景比如有:判斷一名學(xué)生是否存在,不存在就不執(zhí)行任何操作,所以應(yīng)該執(zhí)行一條無法成功運(yùn)行的語句來報(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語句。
    • 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),有興趣了解其他的可以自行百度。
    • 語法:
while 條件 do
 sql語句
end while;
        學(xué)過其他語言的可能會(huì)了解到循環(huán)結(jié)構(gòu)中有continue(提前結(jié)束此次循環(huán))和break(跳出整個(gè)循環(huán))
        在mysql的循環(huán)結(jié)構(gòu)中,使用leave來代替break,使用iterate來代替continue,但它們的使用語法是:leave\iterate 循環(huán)名,所以如何定義循環(huán)名呢?
循環(huán)名:while 條件 do
 sql語句;
 leave\iterate 循環(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ù)庫鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》

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

您可能感興趣的文章:
  • MySQL語句執(zhí)行順序和編寫順序?qū)嵗馕?/li>
  • 簡(jiǎn)單了解mysql語句書寫和執(zhí)行順序
  • 簡(jiǎn)單了解MySQL SELECT執(zhí)行順序
  • 有關(guān)mysql中sql的執(zhí)行順序的小問題
  • SQL語句執(zhí)行深入講解(MySQL架構(gòu)總覽->查詢執(zhí)行流程->SQL解析順序)
  • sql和MySQL的語句執(zhí)行順序分析
  • 淺談mysql執(zhí)行過程以及順序

標(biāo)簽:恩施 白銀 寧夏 杭州 澳門 益陽 秦皇島 定西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql代碼執(zhí)行結(jié)構(gòu)實(shí)例分析【順序、分支、循環(huán)結(jié)構(gòu)】》,本文關(guān)鍵詞  mysql,代碼,執(zhí)行,結(jié)構(gòu),實(shí)例分析,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql代碼執(zhí)行結(jié)構(gòu)實(shí)例分析【順序、分支、循環(huán)結(jié)構(gòu)】》相關(guān)的同類信息!
  • 本頁收集關(guān)于mysql代碼執(zhí)行結(jié)構(gòu)實(shí)例分析【順序、分支、循環(huán)結(jié)構(gòu)】的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 阿鲁科尔沁旗| 凉城县| 泗洪县| 太仆寺旗| 城步| 徐汇区| 北辰区| 元江| 天门市| 浦县| 石河子市| 屏东县| 丹巴县| 湛江市| 广宗县| 铁岭市| 利津县| 海伦市| 桐乡市| 榆社县| 赞皇县| 黄梅县| 三门县| 乌拉特前旗| 海安县| 蓬安县| 莆田市| 盘锦市| 凤翔县| 科技| 孟州市| 麻江县| 车险| 西林县| 政和县| 曲靖市| 阳朔县| 崇礼县| 依兰县| 疏附县| 嘉鱼县|