视图只是一个语句规则
(1)会话变量
定义形式:
set @变量名 = 值;
示例:
set @long =555;
SELECT @long;
(2)普通变量
定义形式:
declare 变量名 类型 [default 默认值]
说明:
1.他必须先声明(即定义),此时也可以赋值;
2.赋值跟会话变量一样: set 变量名 = 值;
3.他只能在编程环境中使用!!!
说明: 什么是编程环境?
存储过程, 函数, 触发器
(3)变量的赋值形式
语法1:
set 变量名 = 表达式; #此语法中变量必须先使用declare声明
语法2:
set @变量名 = 表达式; #此语法无需使用declare声明, 而是直接赋值
语法3:
select @变量名 := 表达式; #此语句会给该变量赋值, 同时还会最为一个select语句输出 '结果集'
示例: SELECT @age := 12;
语法4:
select 表达式 into @变量名; #此语句虽然看起来是select语句, 但其实比不输出 '结果集', 而是给变量赋值
示例: SELECT 33 + 33 INTO @age; SELECT @age;
(1)算术运算符
+ - * / %
注意: MySQL没有++和--运算符
(2)关系运算符
> >= < <= =(等于)<>(不等于) !=(不等于)
(3)逻辑运算符
and(与) or(或)not(非)
CREATE PROCEDURE p1 (n INT)
BEGIN
IF n = 1 THEN
SELECT '春天' AS '季节';
ELSEIF n = 2 THEN
SELECT '夏天' AS '季节';
ELSEIF n = 3 THEN
SELECT '秋天' AS '季节';
ELSEIF n = 4 THEN
SELECT '冬天' AS '季节';
ELSE
SELECT '出错' AS '季节';
END IF;
END;
CREATE PROCEDURE p2(n INT)
BEGIN
CASE n
WHEN 1 THEN SELECT '春天' AS '季节';
WHEN 2 THEN SELECT '夏天' AS '季节';
WHEN 3 THEN SELECT '秋天' AS '季节';
WHEN 4 THEN SELECT '冬天' AS '季节';
ELSE SELECT '出错' AS '季节';
END CASE;
END
CREATE PROCEDURE p3 (n INT)
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE s INT DEFAULT 0;
aa:LOOP
IF i>n THEN
LEAVE aa;
END IF;
SET s=s+i;
SET i=i+1;
END LOOP;
SELECT s;
END
CREATE PROCEDURE p4 (n INT)
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE s INT DEFAULT 0;
WHILE i<=n DO
SET s=s+i;
SET i=i+1;
END WHILE;
SELECT s;
END
CREATE PROCEDURE p5 (n INT)
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE s INT DEFAULT 0;
REPEAT
SET s=s+i;
SET i=i+1;
UNTIL i>n END REPEAT;
SELECT s;
END