亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2020年04月20日 09:54:35   作者:隨風行云  
這篇文章主要介紹了mysql代碼執(zhí)行結構,結合實例形式分析了mysql順序結構、分支結構與循環(huán)結構相關原理、用法及操作注意事項,需要的朋友可以參考下

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

本文內(nèi)容:

  • 什么是代碼執(zhí)行結構
  • 順序結構
  • 分支結構
  • 循環(huán)結構

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


什么是代碼執(zhí)行結構:

  • 這里所說的代碼執(zhí)行結構就是多條sql語句的執(zhí)行順序。
  • 代碼執(zhí)行結構主要用于觸發(fā)器、存儲過程和函數(shù)等存儲多條sql語句中。

順序結構:

  • 順序結構就是從上到下依次執(zhí)行sql語句
  • 一般默認情況下都是順序結構

分支結構:

  • 分支結構的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,它會依據(jù)我們給定的條件來選擇執(zhí)行那些sql語句
  • mysql中分支結構只有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);
      
      -- 使用存儲過程來
      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)用,并查看結果
      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');

補充:

  • 理論上,如果做出判斷不符合,然而又不想繼續(xù)執(zhí)行下去的時候,應該執(zhí)行返回(比如C語言的return來中斷函數(shù)運行),但mysql中并沒有對應的中斷機制,所以需要我們主動中斷(中斷的方法有很多種,比如執(zhí)行一條符合語法但無法運行的語句)【這種場景比如有:判斷一名學生是否存在,不存在就不執(zhí)行任何操作,所以應該執(zhí)行一條無法成功運行的語句來報錯返回?!?/li>
  • 事實上,還存在一種分支結構:case when 【好像好多書都沒怎么講到,所以這里不講述。有興趣的可以自行百度?!?/li>

循環(huán)結構:

    • 循環(huán)結構是指在程序中需要反復執(zhí)行某個功能而設置的一種程序結構。mysql中循環(huán)結構用于循環(huán)多次運行同一sql語句。
    • mysql中的循環(huán)結構有l(wèi)oop結構、while結構、repeat結構,這里只講述while結構,有興趣了解其他的可以自行百度。
    • 語法:
while 條件 do
 sql語句
end while;
        學過其他語言的可能會了解到循環(huán)結構中有continue(提前結束此次循環(huán))和break(跳出整個循環(huán))
        在mysql的循環(huán)結構中,使用leave來代替break,使用iterate來代替continue,但它們的使用語法是:leave\iterate 循環(huán)名,所以如何定義循環(huán)名呢?
循環(huán)名:while 條件 do
 sql語句;
 leave\iterate 循環(huán)名;
end while;
  • 示例:
    -- 無意義的一個例子,僅作演示
    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;

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

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

相關文章

  • Mysql簡易索引方案講解

    Mysql簡易索引方案講解

    這篇文章主要為大家介紹了Mysql索引如何實現(xiàn)更加簡易的查找方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • 淺談mysql返回Boolean類型的幾種情況

    淺談mysql返回Boolean類型的幾種情況

    這篇文章主要介紹了mysql返回Boolean類型的幾種情況,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • MySql分頁時使用limit+order by會出現(xiàn)數(shù)據(jù)重復問題解決

    MySql分頁時使用limit+order by會出現(xiàn)數(shù)據(jù)重復問題解決

    在MySQL中我們通常會采用limit來進行翻頁查詢,當limit遇到 order by的時候會出現(xiàn)數(shù)據(jù)重復問題,本文就來記錄一下,感興趣的可以了解一下
    2021-08-08
  • MySQL索引操作命令詳解

    MySQL索引操作命令詳解

    這篇文章主要介紹了MySQL索引操作命令詳解,需要的朋友可以參考下
    2017-01-01
  • MySQL限制查詢和數(shù)據(jù)排序介紹

    MySQL限制查詢和數(shù)據(jù)排序介紹

    這篇文章主要介紹了MySQL限制查詢和數(shù)據(jù)排序介紹,通過limit可以限制返回結果的行數(shù),而當數(shù)據(jù)查詢出來以后,我們可以對數(shù)據(jù)進行排序處理。在末尾使用order?by語句,下文相關詳細介紹,需要的小伙伴可以參考一下
    2022-03-03
  • MySQL SQL語句分析與查詢優(yōu)化詳解

    MySQL SQL語句分析與查詢優(yōu)化詳解

    這篇文章主要介紹了MySQL SQL語句分析查詢優(yōu)化,需要的朋友可以參考下
    2018-03-03
  • 常見php與mysql中文亂碼問題解決辦法

    常見php與mysql中文亂碼問題解決辦法

    MySQL對中文的支持程度還是很有限的,尤其是新手,但凡出現(xiàn)亂碼問題,就會頭大。
    2014-09-09
  • MySQL初始密碼的查看方式

    MySQL初始密碼的查看方式

    這篇文章主要介紹了MySQL初始密碼的查看方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Mysql啟動的方式(四種)

    Mysql啟動的方式(四種)

    本文給大家介紹四種mysql啟動方式,實用性非常高,感興趣的朋友參考下吧
    2016-04-04
  • mysql 8.0.18 安裝配置優(yōu)化教程

    mysql 8.0.18 安裝配置優(yōu)化教程

    這篇文章主要為大家詳細介紹了mysql 8.0.18 安裝配置優(yōu)化教程,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12

最新評論