栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL基础--07---变量

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL基础--07---变量

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

变量系统变量

1.1 系统变量分类1.2 全局和会话1.3 查看系统变量 用户变量

2.1 用户变量分类![在这里插入图片描述](https://img-blog.csdnimg.cn/ffff0d7ccef04ae6835e8b8ba00b6ea7.png)2.2 会话用户变量

会话用户变量:使用"@"开头,作用域为当前会话。 2.3 局部变量

局部变量:只能使用在存储过程和存储函数中的。 2.4 案例2.5 对比会话用户变量与局部变量2.6 补充:MySQL 8.0的新特性—全局变量的持久化

MySQL 8.0版本新增了SET PERSIST 命令 定义条件与处理程序

1 案例分析2 定义条件

定义条件就是给MySQL中的错误码命名 3 定义处理程序

可以为SQL执行过程中发生的某种类型的错误定义特殊的处理程序 4 案例解决

举例:


变量

在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。

在 MySQL 数据库中,变量分为系统变量以及用户自定义变量。

系统变量用户自定义变量 系统变量 1.1 系统变量分类



全局系统变量针对于所有会话(连接)有效,但不能跨重启会话系统变量仅针对于当前会话(连接)有效。会话期间,当前会话对某个会话系统变量值的修
改,不会影响其他会话同一个会话系统变量的值。会话1对某个全局系统变量值的修改会导致会话2中同一个全局系统变量值的修改。 1.2 全局和会话

在MySQL中有些系统变量只能是全局的,
例如 max_connections 用于限制服务器的最大连接数;有些系统变量作用域既可以是全局又可以是会话
例如 character_set_client 用于设置客户端的字符集;有些系统变量的作用域只能是当前会话
例如 pseudo_thread_id 用于标记当前会话的 MySQL 连接 ID。 1.3 查看系统变量

查看所有或部分系统变量

举例:

查看指定系统变量

修改系统变量的值


举例:

SELECT @@global.autocommit;
SET GLOBAL autocommit=0;

SELECT @@session.tx_isolation;
SET @@session.tx_isolation='read-uncommitted';

SET GLOBAL max_connections = 1000;
SELECT @@global.max_connections;
用户变量 2.1 用户变量分类 2.2 会话用户变量
会话用户变量:使用"@"开头,作用域为当前会话。



举例

2.3 局部变量
局部变量:只能使用在存储过程和存储函数中的。




2.4 案例




2.5 对比会话用户变量与局部变量

2.6 补充:MySQL 8.0的新特性—全局变量的持久化

MySQL 8.0版本新增了SET PERSIST 命令


定义条件与处理程序

1 案例分析


调用存储过程:

2 定义条件
定义条件就是给MySQL中的错误码命名



3 定义处理程序
可以为SQL执行过程中发生的某种类型的错误定义特殊的处理程序


定义处理程序的几种方式,代码如下:

4 案例解决

在存储过程中,定义处理程序,捕获sqlstate_value值,当遇到MySQL_error_code值为1048时,执行
CONTINUE操作,并且将@proc_value的值设置为-1。


举例:

创建一个名称为“InsertDataWithCondition”的存储过程,代码如下。

在存储过程中,定义处理程序,捕获sqlstate_value值,当遇到sqlstate_value值为23000时,执行EXIT操作,并且将@proc_value的值设置为-1。

调用存储过程:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/727819.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号