条件语句
python语法
a=int(input("输入一个数[0,100]成绩:")) if 100>=a>=90: print("优") elif 90>a>=80: print("良") elif 80>a>=60: print("中") else: print("不及格")
嵌套用法:
print("输入一个数:") num=int(input()) if num>=0: if num<=20: print("[0,20]") else: print(">20") else: if num>=-10: print("(-10,0)") else: print("<=-10")
mysql语法
if 条件表达式 then 语句块1; elseif 表达式2 then 语句块2; elseif 表达式3 then 语句块3; else 语句块n; end if
例
CREATE DEFINER=`root`@`localhost` PROCEDURE `pTest`() BEGIN DECLARE vHour INT; SET vHour =60; IF vHour>70 THEN SELECT '加班超多'; ELSEIF vHour> 50 AND vHour<=70 THEN SELECT '加班多'; ELSEIF vHour >40 AND vHour<=50 THEN SELECT '有加班'; ELSE SELECT '没加班'; END IF; END
case语句在存储过程中的用法1
case a when 1 then 语句块1; when 2 then 语句块2; else 语句块n; end case;
例
CREATE PROCEDURE pCase() BEGIN DECLARE job CHAR(50); SET job ='a'; CASE job WHEN 'a' THEN SELECT '工作是经理'; WHEN 'b' THEN SELECT '工作是财务'; WHEN 'c' THEN SELECT '工作是人事'; WHEN 'd' THEN SELECT '工作是行政'; ELSE SELECT '是其它工作'; END CASE; END;
case语句在存储过程中的用法2
case when a=1 then 语句块1; when a=2 then 语句块2; else 语句块n; end case;
循还语句
mysql的while循还
while 条件表达式 do 循环体; end while;
例
CREATE PROCEDURE pWhile() BEGIN DECLARE vNum INT; SET vNum = 0; WHILE vNum<20 DO SET vNum= vNum + 1; END WHILE; SELECT vNum; END
mysql的loop循还
[循环标签:] loop 循环体; if 条件表达式 then leave [循环标签]; end if; end loop;
例
CREATE PROCEDURE pLoop() BEGIN DECLARE vNum INT; SET vNum = 0; addLoop:LOOP IF vNum>20 THEN LEAVE addLoop; END IF; SET vNum= vNum + 1; END LOOP addloop; SELECT vNum; END
Leave 关键字:用户跳出当前的循还语句
语法:leave 循还标签;
Iterate 关键字:用于跳出本次循还,进行下次循还
语法:iterate 循还标签;
mysql的控制流函数
1、IF(expr,v1,v2)函数
如果表达式expr成立,返回结果v1;否则,返回结果v2。
2、 IFNULL(v1,v2)函数
如果v1的值不为NULL,则返回v1,否则返回v2。
3、CASE
CASE expr WHEN e1 THEN v1 WHEN e2 THEN v2 ... ELSE vn END
例
SQL> SELECT ename ,empno ,CASE job WHEN 'clerk' THEN sal+ 100 WHEN 'salesman' THEN sal + 1000 ELSE sal END FROM emp;
4、其他函数
floor(x) 返回小于等于x的最大整数
ceiling(x) 返回大于等于x的最小整数
mod(x) 返回余数
pow(x,y) 返回x的y次方
ABS(x) 返回x的绝对值
python的运算符
% : 模 - 由右侧操作数和余返回除以左侧操作数
** : 指数- 执行对操作指数(幂)的计算
// : 地板除 - 操作数的除法,其中结果是将小数点后的位数被除去的商。