MySQL 基础 ———— 流程控制结构
引言
MySQL 中的流程控制作為基礎知識的最后一塊拼圖,顯得并不是特別重要,而且,在實際生產開發(fā)中,也往往不需要通過它來進行程序的控制,那么為什么還要學習它呢?我認為有以下幾點:
1、知識的完整性:雖然MySQL 的流程控制結構并不重要,但是作為MySQL 基礎知識的一部分,我認為有必要將它補充完善,最起碼也要掌握其基本語法和結構,不至于到了真正用的時候臨時抱佛腳。
2、任何知識都有其應用價值:雖然MySQL 的流程控制并不重要,但是知識的魅力就是,你不知道它什么時候就會用得上,所以為了有所準備,還是應該適當了解一下這部分內容。
3、給MySQL基礎知識畫個圓滿的句號:MySQL基礎系列一路走下來,可謂收獲不少,雖然我敢肯定MySQL的知識內涵還遠不止如此,但作為一個后端開發(fā)人員,能夠將這一系列的總結掌握透徹,在實際開發(fā)中有所運用也基本算是一個優(yōu)秀的開發(fā)者了。那么本篇流程控制結構的總結,不僅是要為基礎知識畫上句號,同時也是開啟 MySQL 高級系列的起承轉合之章。
一、分支結構
1.1 IF() 函數
功能:實現簡單的雙分支。
語法:IF(表達式1,表達式2,表達式3)
解析:IF() 函數很好理解,和Java 中的三目運算符完全一樣,都是先判斷第一表達式是否為 true,如果是,則執(zhí)行表達式2的語句,如果是false,則執(zhí)行表達式3 的語句。它可以應用與MySQL 中的任何地方,包括存儲過程和函數中。
1.2 CASE? 結構
功能:實現多分支。
語法:
CASE 變量 | 表達式 | 字段WHEN 值1或表達式1? THEN? 返回值1 [或語句1;]WHEN 值2或表達式2? THEN? 返回值2 [或語句2;]...ELSE 其他情況返回值 [或語句;]END [CASE;]解析:case 結構可以實現類似 Java 的switch 語句的等值判斷,也可以實現類似 if...else if 的區(qū)間判斷。它既可以嵌套在其他語句中,同時也可以作為獨立的語句執(zhí)行。BEGIN-END內外都可以使用。
1.3 IF 結構
IF 結構可以實現多分支結構,但只能用于 BEGIN-END 中。
語法:
IF 條件1 THEN 語句1; ELSEIF 條件2 THEN 語句2; ... ELSE 語句n; END IF;二、循環(huán)結構
MySQL 中的循環(huán)結構分為三類:
WHILE、LOOP、REPEAT
另外還有一些循環(huán)控制符:
ITERATE:類似于 Java 中的 continue,用于結束本次循環(huán),繼續(xù)下一次。
LEAVE : 類似于 Java 中的 break,用于結束循環(huán)。
WHILE 循環(huán)語法:
WHILE 循環(huán)條件 DO循環(huán)體; END WHILE [標簽];標簽可以省略,但如果希望使用 LEAVE 等流程控制語句,則必須指定標簽。
LOOP語法和 WHILE 類似,只是把 WHILE 關鍵字換成了 LOOP,可以用LOOP 模擬一些簡單的死循環(huán)。
REPEAT 循環(huán)語法:
REPEAT循環(huán)體; UNTIL 結束循環(huán)的條件 END REPEAT [標簽];?
總結
以上是生活随笔為你收集整理的MySQL 基础 ———— 流程控制结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java移位运算
- 下一篇: MySQL 优化 —— SQL优化概述(