存储程序 - 自定义变量

2019-09-29  本文已影响0人  wpf_register

原文链接-定义变量
原文链接-存储函数
原文链接-存储过程
原文链接-游标简介
原文链接-触发器和事件简介

MySQL 中的存储程序本质上封装了一些可执行的语句,然后给用户提供了一种简单的调用方式 来执行这些语句。

根据调用方式的不同,存储程序可以分为存储例程,触发器和事件:

自定义变量简介

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

上一篇 下一篇

猜你喜欢

热点阅读