条件语句
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的运算符
% : 模 - 由右侧操作数和余返回除以左侧操作数
** : 指数- 执行对操作指数(幂)的计算
// : 地板除 - 操作数的除法,其中结果是将小数点后的位数被除去的商。