自定义变量和语句结束分隔符

存储程序

使用储存程序可以封装一些语句,调用这个储存程序可以间接的执行这些语句,完成一个功能。

储存程序分为三种类型:

  • 储存例程
  • 触发器
  • 事件

其中,储存例程又分为:

  • 储存函数
  • 储存过程

自定义变量简介

MySql中,可以使用SET语句来自定义一些变量,变量名必须使用@符号开头:

1
SET @a = 1;

可以使用SELECT语句查询:

1
SELECT @a;

自定义变量之间可以互相赋值:

1
SET @b = @a;

也可以将查询结果赋值给自定义变量,前提是查询出来的结果只有一个值:

1
2
3
SET @a = (SELECT m1 FROM t1 LIMIT 1);

SELECT n1 FROM t1 LIMIT 1 INTO @b;

语句结束分割符

MySql命令行中,;代表这一条语句的结束,如果一次需要写多条查询语句,就必须将这些查询语句写在一行,非常麻烦。好在MySql中可以使用delimiter来定义语句结束分割符。

1
delimiter $;

这个时候,使用;就不会结束语句了。只有在输入了$符号时,才会结束语句。

1
2
3
4
5
delimiter $;
SELECT * FROM t1 LIMIT 1;
SELECT * FROM t2 LIMIT 1;
SELECT * FROM t3 LIMIT 1;
$

使用完自定义语句分割结束符之后,最好还是将其还原为系统默认的:

1
delimiter ;