-
目录
- 定义变量
- declare 变量名 数据类型 [default 默认值];
- 变量赋值方式一
- set 变量名 = 变量值;
- 变量赋值方式二
- select 列名 into 变量名 from 表名 [where 条件];
-
实例演示
-
定义默认值并使用
-
-- 定义一个int类型变量,并赋默认值为10 delimiter $ CREATE PROCEDURE pro_demo1() BEGIN -- 定义变量 DECLARE a INT DEFAULT 10; -- 使用变量 SELECT a; END $ delimiter ; -- 调用pro_demo1存储过程 CALL pro_demo1();
-
定义赋值再使用
-
-- 定义一个int类型变量,并赋默认值为10 delimiter $ CREATE PROCEDURE pro_demo1() BEGIN -- 定义变量 DECLARE a VARCHAR(20); -- 为变量赋值 SET a = 'string'; -- 使用变量 SELECT a; END $ delimiter ; -- 调用pro_demo1存储过程 CALL pro_demo1();
-
定义2变量,通过查询表内数据进行赋值并使用
- 表数据准备(点击即可查看)
- -- 创建学生表
CREATE TABLE student(
id INT PRIMARY KEY auto_increment, -- 学生id
name VARCHAR(20), -- 学生姓名
age INT, -- 学生年龄
gender VARCHAR(5), -- 学生性别
score INT -- 学生成绩
);
-- 添加数据
INSERT INTO student VALUES (NULL,'张三',23,'男',95),(NULL,'李四',24,'男',98),(NULL,'王五',25,'女',100),(NULL,'赵六',26,'女',90); -
-- 定义两个int变量,用于存储男女同学的总分数 delimiter $ CREATE PROCEDURE pro_demo1() BEGIN -- 定义两个变量 DECLARE men,women INT; -- 查询男同学的总分数,为men赋值 SELECT SUM(score) INTO men FROM student WHERE gender='男'; -- 查询女同学的总分数,为women赋值 SELECT SUM(score) INTO women FROM student WHERE gender='女'; -- 使用变量 SELECT men,women; END $ delimiter ; -- 调用pro_demo1存储过程 CALL pro_demo1();