1. 程式人生 > >mysql的基本流程控制語句

mysql的基本流程控制語句

--  開始我們的mysql控制語句
由於近期比較忙,所現在才開始跟新mysql心得,我們來談談mysql的流程語句一下程式碼在控制檯或者 如果對mysql delimiter分界符不太懂得,先看這篇部落格:mysql 分界符delimiter介紹 一、if語句 形式如下:
if condition then
...
[else condition then]
...
[else]
...
end if


Example:
drop procedure if exists test_if;
delimiter // -- 分界符
create procedure test_if(in x int)
begin
if x=1 then
select 'OK';
elseif x=0 then
select 'No';
else 
select 'good';
end if;
end
//
delimiter ;
call test_if(0);

二、case語句 case語句為多分枝語句結構,改語句首先從when後的value中查詢與case後的value相等的值,如果找到,則執行該分支語句,否則執行else語句,形式如下:
case value
when value then ...
[when value then...]
[else...]
end case

其中,value引數表示判斷的變數;when...then中的value表示變數的取值。case語句還有另外一種語法表示結構:
case 
when value then...  -- 此處的value可以為一個條件condition
[when value then...]
[else...]
end case

example:
drop procedure if exists test_case;
delimiter //
create procedure test_case(in x int)
begin
case x
when 1 then select 'OK';
when 0 then select 'No';
else select 'good';
end case;
end
//
delimiter ;
call test_case(9);
三、while迴圈 改語句形式如下
while condition do
...
end while

exmaple:
drop procedure if exists test_while;
delimiter //
create procedure test_while(out sum int)
begin
declare i int default 1;
declare s int default 0;
while i<=10 do
set s = s+i;
set i = i+1;
end while;
set sum = s;
end;
//
delimiter ;
call test_while(@s);
select @s;

四、loop迴圈 該迴圈沒有內建迴圈條件,但可以通過leave 語句退出迴圈。表示形式如下:
loop
...
end loop
example:
drop procedure if exists test_loop;
delimiter //
create procedure test_loop(out sum int)
begin
declare i int default 1;
declare s int default 0;
loop_label:loop
set s = s+i;
set i = i+1;
if i>10 then leave loop_label;
end if;
end loop;
set sum = s;
end;
//
delimiter ;
call test_loop(@s);
select @s;

五、repeat迴圈語句 該語句執行一次迴圈體,之後判斷condition條件是否為真,為真則退出迴圈,否則繼續執行迴圈體。repeat語句的表示形式如下。
repeat
...
until condition
end repeat
eample:
drop procedure if exists test_repeat;
delimiter //
create procedure test_repeat(out sum int)
begin
declare i int default 1;
declare s int default 0;
repeat
set s = s+i;
set i = i+1;
until i>10 -- 此處不能有分號
end repeat;
set sum = s;
end;
//
delimiter ;
call test_repeat(@s);
select @s;

相關推薦

mysql基本流程控制語句

-- 開始我們的mysql控制語句 由於近期比較忙,所現在才開始跟新mysql心得,我們來談談mysql的流程語句一下程式碼在控制檯或者 如果對mysql delimiter分界符不太懂得,先看這篇部落格:mysql 分界符delimiter介紹 一、if語句 形式如下

MySQL流程控制語句

(1)IF語句 IF  search_condition THEN  statement_list      [ELSEIF  search_condition  THNE  statement_list]

java的基本流程控制語句及例子

/** * switch語句 * @author xinhulian * */ public class TestSwitch { /* * 格式: * switch(表示式){ //switch:關鍵字,表示這是一個switch語句。表示式:byte、short、int、char、字串、列舉(後面學)

Mysql流程控制語句

這篇部落格主要是總結一下Mysq中的流程控制語句的用法,主要是:CASE,IF,IFNULL,NULLIF 1.case CASE value WHEN [compare-value] THEN r

流程控制語句(MySQL/MariaDB )

內部使用 tom if語句 ddn java 要求 -i atomic 裏的 本文目錄:1.BEGIN...END2.true和false3.if結構4.case結構5.loop、leave和iterate6.repeat循環7.while循環 MySQL/Maria

MYSQL進階學習筆記三:MySQL流程控制語句!(視頻序號:進階_7-10)

sls @age 分享 流程 null set oop 默認 soft 知識點四:MySQL流程控制語句(7-10) 選擇語句:   (IF ELSE ELSE IF CASE 分支)IFNULL函數 IF語法: 語法規則:

MYSQL中的流程控制語句

一、條件語句 (1) IF條件語句 語法: IF search_condition THEN     statement_list ELSE     statement_list END IF; 例:比較兩個數大小 DELIMITER// CREATE PROCEDURE

JAVA中鍵盤的錄入及基本流程控制語句

鍵盤的錄入 導包: import java.util.Sanner; 建立鍵盤錄入物件: Scanner sc=new Scanner(System.in); 通過物件獲取資料 int x=sc.nextlnt(); 當然除了錄入整形可也以錄入其它資料型別。 流程控制語

MySQL流程控制語句

在MySQL中,常見的過程式SQL語句可以用在一個儲存過程體中。其中包括:IF語句、CASE語句、LOOP語句、WHILE語句、REPEAT語句、LEAVE語句和ITERATE語句,它們可以進行流程控制。 1、IF語句 IF語句用來進行條件判斷,根據不同的條件執行不同的操作。該語句在執行

mysql中的流程控制語句小結

mysql中有如下的幾個的控制流程的語句: 1) case    // Below will return zero   SELECT CASE 0 WHEN 0 THEN 'zero' WHEN 1 THEN 'one' ELSE 'no one' END;     //

流程控制語句Mysql

####################流程控制語句 -- 1.順序控制語句 begin..end... delimiter // create function max1(i int,j int) returns int begin return (select

基本流程控制】4.select語句

Go語言-select語句     select語句屬於條件分支流程控制方法,不過它只能用於通道

基本流程控制】3. for語句

Go語言-for語句     for語句代表著迴圈。一條語句通常由關鍵字for、初始化子句、條件

mysql PL(procedure language)流程控制語句

在MySQL中,常見的過程式SQL語句可以用在儲存體中。其中包括IF語句、CASE語句、LOOP語句、WHILE語句、ITERAT

Mysql高手系列 - 第18篇:mysql流程控制語句詳解(高手進階)

Mysql系列的目標是:通過這個系列從入門到全面掌握一個高階開發所需要的全部技能。 這是Mysql系列第18篇。 環境:mysql5.7.25,cmd命令中進行演示。 程式碼中被[]包含的表示可選,|符號分開的表示可選其一。 上一篇儲存過程&自定義函式,對儲存過程和自定義函式做了一個簡單的介紹,但是如

MySQL全面瓦解20:可程式設計性之流程控制語句

背景 說到流程控制語句,我們在程式語法中用的比較多,比如C#的if..else...,while...,?: 等。同樣的,在MySQL中,也有一些流程控制的語法,方便我們在寫函式、儲存過程的時候對邏輯進行控制和處理。 常見的過程式SQL語句可以用在儲存過程或者函式體中。其中包括:IF函式、IF條件語句、CAS

Shell腳本的基本流程控制

false 流程控制 ash lba -s print 所有 循環 數字 if else read -p ‘請輸入分數:‘ score if [ $score -lt 60 ]; then echo ‘60分以下‘ elif [ $score -lt 70 ]; th

Oracle流程控制語句

控制 space reverse logs 2.3 1.2 流程控制語句 case ora 1.選擇語句 1.1 IF...THEN...END IF語句 DECLARE MY_AGE INT; IF MY_AGE IS NULL THEN DBMS

java基礎:流程控制語句(選擇結構if語句)

這樣的 執行 錯誤數據 一點 選擇 邏輯運算符 月份 等級 pri (1)順序結構 從上往下,依次執行 Demo:class ShunXuJieGouDemo { public static void main(String[] args) { System.o

流程控制語句

基礎 num cor 支持 流程 編寫 ons 執行 結果 一、條件語句 條件語句就是指通過判斷得到的結果,來決定是執行還是跳過指定的代碼塊。 1、if 語句 if 語句是條件判斷語句,也是最基本的流程控制語句。 例如: var num = 5;if(num < 10