MySQL基础篇——存储过程和函数中的变量

这篇具有很好参考价值的文章主要介绍了MySQL基础篇——存储过程和函数中的变量。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🙌作者简介:数学与计算机科学学院学生、分享学习经验、生活、 努力成为像代码一样有逻辑的人
🌙个人主页:阿芒的主页
👉推荐一款刷题、找工作神器 牛客网注册即可免费刷题

🥭前言

这一节,介绍MySQL中的变量,为下一节学习存储过程和函数打下基础。


🍓变量

👉系统变量

  • 说明

变量由系统提供,不是用户定义,属于服务器层面

  • 使用的语法

1、查看所有的系统变量
show global | 【session】variables;

2、查看满足条件的部分系统变量
show global | 【session】variables like ‘%char%’;

3、查看指定的某个系统变量的值
select @@global | 【session】.系统变量名;

4、为某个系统变量赋值
方式一:
set global | 【session】系统变量名=值;
方式二:
set @@global | 【session】.系统变量名=值;

注意:

  • 如果是全局级别,则需要加GLOBAL,如果是会话级别,则需要加SESSION,如果不写,则默认SESSION

  • 模糊查询用SHOW 具体查询用SELECT

  • 分类

📑 全局变量

作用域:服务器每次启动将为所有的全局变量赋初始值,针对于所有的会话(连接)有效,但不能跨重启

语法:
①查看所有的全局变量
show global variables;
2、查看部分的全局变量
show global variables like ‘%char%’;
3、查看指定的全局变量的值
select @@global.autocommit;
select @@tx_isolation;
4、为某个指定的全局变量赋值
set @@global.autocommit=0;

📑会话变量

作用域仅仅针对于当前会话(连接)有效

语法:
①查看所有的会话变量
show variables;
show session variables;
2、查看部分的会话变量
show variables like ‘%char%’;
show session variables like ‘%char%’;
3、查看指定的某个会话变量
select @@session.tx_isolation;
select @@tx_isolation;
4、为某个会话变量赋值
方式一:
set @@session.tx_isolation=’read-uncommitted’;
方式二:
set session tx_isolation=’read-committed’;


👉自定义变量

  • 说明

变量是用户自定义的,不是由系统定义的

  • 使用步骤
    ①声明
    ②赋值
    ③使用(查看、比较、运算等)

  • 分类

📑用户变量

作用域:针对于当前会话(连接)有效,同于会话变量的作用域
应用在任何地方,也就是begin end 里面或begin end外面
赋值的操作符:=或 :=

语法
①声明并初始化
set @用户变量名=值;或
set @用户变量名:=值;或
select @用户变量名:=值;
②赋值(更新用户变量的值)
方式一:通过set或select
set @用户变量名=值;或
set @用户变量名:=值;或
select @用户变量名:=值;
方式二:通过select into
select 字段 into @变量名
from 表;
③使用(查看用户变量的值)
select @用户变量名;

📑 局部变量

作用域:仅仅在定义它的begin end中有效
应用在begin end中的第一句话

语法
①声明
declare 变量名 类型;
declare 变量名 类型 default 值;
②赋值
方式一:通过set或select
set 局部变量名=值;或
set 局部变量名:=值;或
select @局部变量名:=值;
方式二:通过select into
select 字段 into 局部变量名
from 表;
③使用
select 局部变量名;

📝用户变量和局部变量对比文章来源地址https://www.toymoban.com/news/detail-818696.html

作用域 定义和使用的位置 语法
用户变量 当前会话 会话中的任何地方 必须加@符号,不用限定类型
局部变量 BEGIN END中 只能在BEGIN END中,且为第一句话 一般不用加@符号,需要限定类型

到了这里,关于MySQL基础篇——存储过程和函数中的变量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL数据库——存储过程-变量(系统变量、用户定义变量、局部变量)

    目录 系统变量  1.查看系统变量  2.设置系统变量 演示示例 用户定义变量 1.赋值  2.使用 演示示例 局部变量 声明  赋值 演示示例 变量 在MySQL中变量分为三种类型: 系统变量、用户定义变量、局部变量。 系统变量是MySQL服务器提供,不是用户定义的,属于服务器层面。分为全

    2024年02月05日
    浏览(38)
  • 第62讲:MySQL存储过程中变量的定义及应用

    在MySQL数据库种分为三种类型的变量,分别是系统变量、用户自定义的变量、局部变量。 系统变量是由MySQL数据库提供的系统变量,属于服务层面的系统变量,系统变量在使用时的级别又分为两种: 全局变量(global):全局变量针对所有的会话生效,但是当重启MySQL后,修改

    2024年02月06日
    浏览(28)
  • Mysql 存储过程 / 存储函数

    目录 0 课程视频 1 基本语法 1.0 作用 -在数据库中 封装sql语句 - 复用 - 减少网络交互 -可接收参数返回数据 1.1 创建 1.2 调用 1.3 查看 1.4 删除 1.5 ; 封号结束符 改成 $$ 双刀符合结束语句 - 因为打包封号结束有冲突 1.6 在cmd 中定义 存储过程 打包的事务 - 打包完 可以改回 封号  

    2024年02月01日
    浏览(39)
  • MySQL(视图,存储函数,存储过程)

    作业1:  作业实现: 首先创建学生表,课程表,以及学生选课表。  1.用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”。 2.修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。 3.为SC表建立按学号(

    2024年01月21日
    浏览(33)
  • MySQL——存储过程与存储函数

    MySQL从 5.0版本 开始支持 存储过程 和 存储函数 。存储过程和函数能够将复杂的SQL逻辑封装在一起,应用程序无须关注存储过程和函数内部复杂的SQL逻辑,而只需要简单地调用存储过程和函数即可。 1.1 理解 含义 :存储过程的英文是 Stored Procedure 。它的思想很简单,就是一组

    2024年02月10日
    浏览(31)
  • Mysql存储-变量、函数、游标、判断、循环

    1、介绍: 存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程思想上很简单,就是数据库SQL语言层面的代码封装与重用 2、特点 封装、复用 可以接

    2024年02月07日
    浏览(32)
  • MySQL存储函数与存储过程习题

    创建表并插入数据: 1、创建一个可以统计表格内记录条数的存储函数 ,函数名为count_sch() 先创建一个表并插入一些数据: mysql d // mysql create function count_sch() - returns int - begin - declare i int default 0; - select count(*) into i from sch; - return i; - end // Query OK, 0 rows affected (0.00 sec) mysql sel

    2024年01月19日
    浏览(38)
  • MySQL之存储过程和存储函数

    能够将完成特定功能的SQL指令进行封装(SQL指令集),编译之后存储在数据库服务器上,并且为之取一个名字,客户端可以通过名字直接调用这个SQL指令集,获取执行结果。 2.1 优点 (1)SQL指令无需经客户端编写通过网络传送,可以节省网络开销,同时避免使用SQL指令在网络传

    2024年02月05日
    浏览(40)
  • 【MySql】MySql存储过程与函数

    存储过程没有返回值,函数有返回值 存储过程就是一组预先编译好的SQL语句的封装,需要执行时客户端向服务器发送调用请求,服务器就会将这一系列预先存储好的SQL语句全部执行。 简单举例:存储过程的创建 DELIMITER意味将$设置为结束标识,这样就可以在存储过程中使用分

    2024年02月09日
    浏览(35)
  • MySQL 存储过程和函数

    目录 一、存储过程和函数概述 二、创建存储过程和函数 1、创建存储过程 2、创建存储函数 三、查看/调用储存过程和函数 1、查看储存过程/函数 2、调用储存过程/函数 四、修改/删除存储过程和函数 1、修改存储过程和函数 2、删除存储过程和函数 五、练习  存储过程就是一

    2024年02月11日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包