原文链接-定义变量
原文链接-存储函数
原文链接-存储过程
原文链接-游标简介
原文链接-触发器和事件简介
根据调用方式的不同,存储程序可以分为存储例程,触发器和事件:MySQL 中的存储程序本质上封装了一些可执行的语句,然后给用户提供了一种简单的调用方式 来执行这些语句。
- 存储程序本质上是一些可执行的MySQL语句,根据调用情况不同分为3种类型,分别是存储例程、触发器和事件。
- 存储例程需要我们手动去掉用,具体分为存储函数和存储过程。
- 触发器是在执行某条语句之前或者之后自动去调用另外一些语句。
- 事件是定时执行的。
自定义变量简介
MySQL 要求变量名称前必须有 @,变量可以是MySQL 支持的任意类型。
//定义一个名叫a 的变量,并且把整数1赋值给这个变量。
SET @a = 1;
//查看变量时也要用@符
SELECT @a; //1
除了赋值常量,也可以将变量赋值给另一个变量
SET @a = 1;
SET @b = @a;
SELECT @b; //1
同一个变量也可以存储不同类型的值
set @a = 1;
SET @a = "fuck";
SELECT @a; //fuck
还可以将查询结果赋值给变量(查询结果只有一个值)
SET @a = (SELECT COUNT(*) FROM employee );
SELECT @a; //25
或者
SELECT COUNT(*) FROM employee INTO @b
SELECT @b;//25
//如果查询结果是一条记录多个值同时赋给多个变量多用INTO
SELECT p1,p2 FROM employee INTO @a, @b;
复合语句
在MySQL客户端交互界面,完成键盘输入并按下回车时,MySQL 会检测输入内容是否包含“;”“\g”或“\G”这三个符号之一。如果有的话,会把输入内容发送到服务器。
其实我们可以用 delimiter命令来自定义MySQL 检测输入结束的符号。
delimiter $
SELECT * FROM t1 LIMIT 1;
SELECT * FROM t2 LIMIT 1;
SELECT * FROM t3 LIMIT 1;
$
delimiter $
命令意味着修改MySQL 客户端检测输入结束的符号为$
,分号不再做结结束符。敲下 $ f
网友评论