首页 > 数据库 >MySQL变量的使用

MySQL变量的使用

时间:2024-08-08 11:24:52浏览次数:13  
标签:... 局部变量 变量 expr MySQL 使用 var name

目录

1.系统变量

1.1查看系统变量

1.2设置系统变量

2.用户自定义变量

2.1用户自定义变量赋值

2.2查看用户自定义变量

3.局部变量

3.1局部变量声明

3.2局部变量赋值

3.3查看局部变量


MySQL中的变量分为三大类,系统变量、用户自定义变量、局部变量。

1.系统变量

系统变量以@@开头,由MySQL服务器提供,不是用户定义的,属于服务器层面。分为全局变量(GLOBAL)、会话变量(SESSION)。(全局变量在全局范围内可用,即所有会话下都可用,会话变量在当前会话可用,一个会话即为MySQL中打开的一个窗口)。若未指定变量是全局变量还是会话变量,则默认为会话变量。系统变量的修改在重启后失效,永久修改需改配置文件。

1.1查看系统变量

语法:

SHOW [GLOBAL | SESSION] VARIABLES;     ##查询所有系统变量

SHOW [GLOBAL | SESSION] VARIABLES LIKE 'pattern';  ##模糊查询系统变量

SELECT @@[SESSION | GLOBAL].系统变量名;   ##按名称查询指定系统变量

实例:

SELECT @@GLOBAL.auto_increment_increment

结果:

1.2设置系统变量

语法:

SET [GLOBAL | SESSION] 系统变量名=值

SET @@[GLOBAL | SESSION].系统变量名=值

 实例:

SET @@GLOBAL.delayed_queue_size=900

2.用户自定义变量

用户自定义变量以@开头,是用户根据需要自己定义的变量,用户变量不用提前声明,在用的时候直接用“@变量名”使用就可以。其作用域为当前连接。

2.1用户自定义变量赋值

语法:

SET @var_name = expr [, @var_name = expr] ...

SET @var_name := expr [, @var_name = expr] ...

SELECT @var_name := expr [, @var_name = expr] ...

SELECT col_name into @var_name FROM table_expr

 实例:

SET @dt1 = '2024-08-08'
SELECT @dt2:='2024-04-01'

2.2查看用户自定义变量

语法:

SELECT @var_name

实例:

SELECT @dt1,@dt2

结果:

2024-08-08    2024-04-01 

3.局部变量

局部变量不带@,是根据需要在局部生效的变量,访问之前,需要DECLARE声明。可用作存储过程或函数内的局部变量和输入参数,局部变量的作用范围是声明它的那个BEGIN...END块内。

3.1局部变量声明

语法:

DECLARE var_name [, var_name]... data_type [ DEFAULT value ];

实例:

DECLARE v1 varchar(100)

3.2局部变量赋值

语法:

SET var_name = expr [, var_name = expr] ...

SET var_name := expr [, var_name = expr] ...

SELECT col_name[,...] into var_name[,...] table_expr [where...]

实例:

SET v1='Hello World!'

3.3查看局部变量

语法:

SELECT var_name

实例:

SELECT v1

结果:

Hello World! 

标签:...,局部变量,变量,expr,MySQL,使用,var,name
From: https://blog.csdn.net/weixin_63814296/article/details/141020247

相关文章

  • 基于JSP和MySQL的小说阅读网站系统
    你好,我是计算机专业的学姐,很高兴和大家分享我的毕业设计——小说阅读网站系统。如果对此有兴趣或任何问题,欢迎随时联系我。开发语言:Java数据库:MySQL技术:JSP+JavaBeans+Servlet工具:常用开发环境(如Eclipse)系统展示首页管理员界面读者个人中心作者个人中心......
  • MySQL this is incompatible with sql_mode=only_full_group_by-错误解决
    mysql执行groupby时遇到下面提示:SELECTlistisnotinGROUPBYclauseandcontainsnonaggregatedcolumn'crm.b.id'whichisnotfunctionallydependentoncolumnsinGROUPBYclause;thisisincompatiblewithsql_mode=only_full_group_by原因:在sql执行时,出现该原......
  • 如何把Connection 封装到工具类里面 调用工具类方法实现 增删改查操作 java JDBC
    如何把Connection封装到工具类里面调用工具类方法实现增删改查操作javaJDBC使用数据库连接池以HikariCP为例在JDBC中,使用数据库连接池是一个常见的做法,以提高数据库操作的效率和性能。连接池管理着一组数据库连接,这些连接可以被重用而不是每次需要时都创建新的连接。......
  • 如何把Connection 封装到工具类里面 调用工具类方法实现 增删改查操作 java JDBC使用
    如何把Connection封装到工具类里面调用工具类方法实现增删改查操作javaJDBC使用C3P0数据库连接池答:当使用C3P0作为数据库连接池时,你可以按照类似的模式来配置和使用它。以下是一个示例,展示了如何在Java项目中配置C3P0连接池,并创建一个工具类来管理数据库连接和执行基本的......
  • 项目中使用`import`关键字导入文件方式
    一.默认导出一个模块可能只有一个主要的导出内容时,你可以使用默认导出来简化导入过程。a文件导出constfun=()=>{} exportdefaultfun; b文件导入importfunfrom"@/xx/b.js";fun() //方法调用返回abc二.具名导出一个模块包含多个导出内容时,你可......
  • mysql慢查询分析
    MySQL慢查询分析一、mysqldumpslow分析工具mysql源码包scripts目录下mysqldumpslow命令使用[root@omscripts]#./mysqldumpslow--helpUsage:mysqldumpslow[OPTS...][LOGS...]ParseandsummarizetheMySQLslowquerylog.Optionsare--verboseverb......
  • Java基础(十):静态变量、静态方法、代码块、main方法
    Java基础(十):静态变量、静态方法、代码块、main方法文章目录一、类变量/静态变量(static)二、类方法/静态方法(static)三、main方法四、代码块(一)static代码块(二)普通代码块五、属性初始化、代码块、构造器的调用优先级【超级重点】一、类变量/静态变量(static)(一)类变量......
  • Spring Boot 整合 SA-Token 使用详解
    SpringBoot整合SA-Token使用详解在现代Web开发中,用户认证与授权是构建安全应用的基础。SA-Token是一个轻量级的Java权限认证框架,它以其简洁的API设计、高效的执行效率以及丰富的功能特性,成为了众多开发者在SpringBoot项目中实现用户认证与授权的首选方案。本文将详细......
  • MySQL线上查询性能调优:深入解析与实战策略
    MySQL线上查询性能调优:深入解析与实战策略在数据库管理的日常工作中,确保MySQL线上查询的高效执行是至关重要的。随着数据量的不断增长和查询复杂度的提升,性能调优成为了数据库管理员(DBA)和开发人员必须掌握的技能。本文将从多个维度深入解析MySQL线上查询性能调优的策略和技......
  • 使用 createError 创建错误对象的详细指南
    title:使用createError创建错误对象的详细指南date:2024/8/8updated:2024/8/8author:cmdragonexcerpt:摘要:本文介绍了createError函数在Nuxt应用开发中的使用方法,用于创建带有附加元数据的错误对象,以提升错误处理的灵活性和用户体验。内容包括函数参数说明、......