mysql变量用法实例分析【系统变量、用户变量】
作者:随风行云 发布时间:2024-01-20 08:47:20
本文实例讲述了mysql变量用法。分享给大家供大家参考,具体如下:
本文内容:
系统变量
用户变量
局部变量
首发日期:2018-04-18
系统变量:
系统变量就是系统已经提前定义好了的变量
系统变量一般都有其特殊意义。比如某些变量代表字符集、某些变量代表某些mysql文件位置
系统变量中包括会话级变量(当次会话连接生效的变量,如names),以及全局变量(一直生效的变量) 【系统变量中全局变量和会话变量其实是使用一套变量,不同的是会话变量仅当次会话生效。】
会话变量的赋值:set 变量名 = 值; 【比如常用的set names ="utf8";】或者set @@变量名=值
全局变量的赋值:set global 变量名 = 值;
查看系统变量:
show variables;
系统变量的调用:
select @@变量名;
用户变量:
用户变量就是用户自己定义的变量。
系统为了区别系统变量跟自定义变量,规定用户自定义变量必须使用一个@符号
变量的定义方式:
set @变量名=1
select @变量名:=值;
select 值 into @变量名;
用户变量可以不声明定义,就可以直接使用,不过默认是null值
用户变量都是会话级的变量,仅在当次连接中生效。
局部变量:
由于局部变量是用户自定义的,可以认为局部变量也是用户变量【但有所不同,局部中不需要使用@】
局部变量一般用在sql语句块中,比如存储过程块、触发器块等
局部变量的定义方法:
select 变量名;
set 变量名= 值;
示例:declare myq int;
示例:declare myq int default 666;
先使用declare声明局部变量,其中可选项default后面可以跟一个付给变量的默认值:【非常重要的一步,不然会设置成用户变量】【注意:变量声明语句要在其他语句如select语句之前】
设置变量的值:
获取变量的值:
create procedure myset()
begin
declare mya int;
declare myq int default 777;
select mya,myq;
set myq=6;
set mya=666;
select mya,myq;
end;
call myset();
补充:
有些人可能会发现直接set 变量名=值;也可以定义“用户变量”;但这是一种不好的行为【这种行为忽略了各自变量的功能】,因为你不知道会不会跟系统变量冲突,所以最好用户变量加上@
因为 = ,有很多地方都用来判断是否等于,为了避免歧义,也可以使用:=来赋值
【上面虽然给了一些其他的赋值方法,但好像有一些是不通用的,比如:=只用于用户变量,所以要审慎使用】。
希望本文所述对大家MySQL数据库计有所帮助。
来源:https://www.cnblogs.com/progor/p/8870917.html
猜你喜欢
- 在日常的工作中,保护数据免受未授权用户的侵犯是系统管理员特别关心的问题。如果你目前用的是MySQL,就可以使用一些方便的功能来保护系统,来大
- 简单的说:装饰器主要作用就是对函数进行一些修饰,它的出现是在引入类方法和静态方法的时候为了定义静态方法出现的。例如为了把foo()函数声明成
- 突发奇想,写了以下这段代码,感觉还不错,拿来和大家分享作用:查看页面布局使用方法:在页面底部包含以下这段代码ff3,ie7测试可用var&n
- 列表推倒式 [结果 for 变量 in 可迭代对象 if 筛选]字典推倒式 {结果 for 变量 in 可迭代对象 if 筛选} 结果 =&
- 最近想备份网站,但是php下载文件的大小是有大小限制的,而我也懒得装ftp再下载了,就想着暂时弄个二级域名站,然后用python(pytho
- 微信这个东西估计宅男没几个不熟悉的吧,微信经过这么两年多的发展终于向开放平台跨出了友好的一步。蛋疼的以为微信会出一个详细的api等接口,兴奋
- 1、安装requests、xlrd、json、unittest库<1>pip 命令安装:pip install requests
- 今天依旧是学算法,前几天在搞bbs项目,界面也很丑,评论功能好像也有BUG。现在不搞了,得学下算法和数据结构,笔试过不了,连面试的机会都没有
- 一、整体合并团队协作中,开发人员A、B、C分别在dev上进行功能开发,并push代码到远端dev上。当测试人员需要对功能进行测试的时候,我们
- 本文实例讲述了Python网络编程之TCP与UDP协议套接字用法。分享给大家供大家参考,具体如下:TCP协议服务器端:#!/usr/bin/
- Python类基本写法与注释风格python是一种面向对象的语言,利用类的抽象可以大大提高代码的复用和结构,减少重复造轮子的过程,也让代码变
- 本文列些处几种去除在Python 列表中(list)可能存在的重复项,这在很多应用程序中都会遇到的需求,作为程序员最好了解其中的
- python的annotate函数annotate函数该函数的详细参数可调用内置属性__doc__查看。import matplotlib.
- 临时表可能是非常有用的,在某些情况下,保持临时数据。最重要的是应该知道的临时表是,他们将当前的客户端会话终止时被删除。临时表中添加MySQL
- 今天在设计一个标签(采用的是Select 选择器中的标签那一个)时,从后台返回了数据,但是在输入值时,没有对回显的值进行过滤匹配,通过查看官
- 要用ifnull,而不是isnullisnull是判断是否为null,返回值是1表示null或者0表示不为空ifnull等同于oracle的
- js:controller:
- 之前在懒懒分会上分享的一点关于border画小图的内容, 完整的ppt在这里.原理css盒模型一个盒子包括: margin+border+p
- 今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下:JsLoader.jsvar MiniSite=new Object()
- 网上asp加密字符的MD5很多,也很普遍,因为受到asp语言本身的限制,对文件进行md5介绍的文章很少,本文通过2种方式来谈谈如何通过asp