首页 > 数据库 >Java学习 - MySQL数据库中 变量 和 流程控制 实例

Java学习 - MySQL数据库中 变量 和 流程控制 实例

时间:2024-06-16 10:03:33浏览次数:16  
标签:语句 返回 END 变量 实例 MySQL Java 变量名 SELECT

变量

变量分类

  • 系统变量
    • 全局变量:对于服务器所有的连接有效
    • 会话变量:只在当前连接有效
  • 自定义变量
    • 用户变量:只在当前连接有效
    • 局部变量:仅在 BEGIN-END 中有效

系统变量

  • 查看所有的系统变量

    SHOW GLOBAL|SESSION VARIABLES;
    
  • 查看某些的系统变量

    SHOW GLOBAL|SESSION VARIABLES LIKE '%char%';
    
  • 查看指定的系统变量

    SELECT @@GOLBAL.系统变量名
    SELECT @@SESSION.系统变量名
    
  • 修改系统变量的值

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

自定义变量

用户变量
  • 声明并赋值

    SET @用户变量名 = 值
    SET @用户变量名 := 值
    SELECT @用户变量名 := 值
    
  • 赋新值

    SET @用户变量名 = 值
    SET @用户变量名 := 值
    SELECT @用户变量名 := 值
    
    SELECT 字段 INTO @变量名
    FROM 表;
    
  • 使用

    @变量名
    SELECT @变量名
    
局部变量
  • 声明并赋默认值

    BEGIN
    
        DECLARE 局部变量名 变量类型 DEFAULT 默认值;
    
    END
    

流程控制

分支控制

分类
  • IF函数
  • IF语句
  • CASE语句
IF函数
  • IF(表达式1,表达式2,表达式3)
  • 如果表达式1成立,则返回表达式2执行结果,否则返回执行表达式3执行结果
  • 效果与三目运算符类似
IF语句
IF 条件
    THEN 语句1;
    ELSEIF 语句2;
    ELSE 语句3;
END IF;
CASE语句【唯一的奇葩:一个分号都不带】
  • 类似于 switch 语句

    # 都不用加分号
    
    CASE 变量|表达式|字段
        WHEN 要判断的值 THEN 返回的值1
        WHEN 要判断的值 THEN 返回的值2
        ...
        WHEN 要判断的值 THEN 返回的值n
        ELSE 要返回的值n+1
    END CASE
    
  • 类似多重if语句

    # 都不用加分号
    
    CASE
        WHEN 要判断的条件1 THEN 返回的值1
        WHEN 要判断的条件2 THEN 返回的值2
        ...
        WHEN 要判断的条件n THEN 返回的值n
        ELSE 要返回的值n+1
    END
    
  • 注意:ELSE可以省略,如果省略了且匹配不到,则返回NULL

循环控制

使用场景
  • 只能在函数或存储过程中使用
分类
  • WHILE
  • LOOP
  • REPEAT
  • 循环控制语句
    • 必须配合标签使用
    • ITERATE:类似continue
    • LEAVE:类似break
WHILE
【标签:】WHILE 循环条件 DO

    循环体【每句都要带分号】
    
END WHILE【标签】;
LOOP
【标签:】 LOOP

    循环体【每句都要带分号】
    
END LOOP 【标签】;
REPEAT
【标签:】REPEAT

    循环体【每句都要带分号】
    
UNTIL 结束循环条件 END REPEAT【标签】;

标签:语句,返回,END,变量,实例,MySQL,Java,变量名,SELECT
From: https://blog.csdn.net/paofuluolijiang/article/details/139599747

相关文章

  • Java学习 - MySQL对于数据库、表、数据类型的定义
    对于数据库的定义创建库CREATEDATABASEIFNOTEXISTS库名DEFAULTCHARACTERSETutf8//设置默认字符集为utf8COLLATEuf8_general_ci;//不区分大小写caseinsensitiveCREATEDATABASEIFNOTEXISTS库名DEFAULTCHARACTERSETutf8//设置默认字......
  • python学习 - 对目录操作和对文件操作的 实例代码
    #!/usr/bin/python#-*-coding:UTF-8-*-importosimportos,shutilclassOperatingFile:defcreatFile(self,path):f=file(path,"w+")f.close()defreadFile(self,path):#方法一f=open("E:/aa......
  • python学习 - 对list列表的操作 实例代码
    #!/usr/bin/evnpython#-*-encoding:utf-8-*-list=[1,4,3,3,"A","B","c","A"]#增加list.append("AA")#像末尾增加一个新元素list.insert(1,"B")#像指定索引位置插入元素list.extend(["D","DD"])#新......
  • Java毕业设计-基于springboot开发的图书个性化推荐系统设计与实现-毕业论文(附毕设源代
    文章目录前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求/流程分析3、系统功能结构三、系统实现展示1、前台首页功能模块2、管理员功能模块3、学生功能模块四、毕设内容和源代码获取总结Java毕业设计-基于springboot开发的图书个性化推荐系统......
  • Java毕业设计-基于springboot开发的图书管理系统-毕业论文(附毕设源代码)
    文章目录前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求/流程分析3、系统功能结构三、系统实现展示1、个人中心2、管理员管理3、用户管理4、图书出版社管理5、公告类型管理6、所在书架管理7、图书类型管理8、论坛管理9、公告信息管理10、图书信息......
  • 成为MySQL DBA后,再看ORACLE数据库(十、事务与隔离级别)
    一、事务控制语句事务控制方式在ORACLE和MySQL中有着明显的不同,在ORACLE数据库中,当第一条可执行的SQL语句开始执行时,就隐性地开始了一个事务,然后继续执行随后的SQL语句,直到出现以下情况:1.commit,如果事务遇到commit语句,此前的所有更改将在数据库中永久生效;2.rollback,如果事务遇到......
  • Java高手的30k之路|面试宝典|精通跳表SkipList
    跳表SkipList跳表(SkipList)是一种数据结构,它在有序链表的基础上,通过增加多级索引来提高查找、插入和删除操作的效率。跳表的平均时间复杂度为O(logn),与平衡树(如红黑树、AVL树)相当,但实现起来更为简单。跳表的结构跳表由多层链表组成,每一层都是一个有序链表。底层(第0......
  • Java应用线上问题排查工具整理
    关于线上问题Java应用的线上问题,总结起来大概分为几类:CPU占用高,内存溢出,执行结果不对。CPU占用高引起CPU占用高的原因可能有多种,比如:代码进入死循环并发请求量大频繁FullGC打印日志太过于频繁内存溢出导致内存溢出的原因可能是:分配的Java堆空间不够,可以通过启动参数......
  • 第一百零九节 Java面向对象设计 - Java抽象类和方法
    Java面向对象设计-Java抽象类和方法Java可以定义一个类,其对象不能被创建。它的目的只是表示一个想法,这是其他类的对象共有的。这样的类称为抽象类。语法我们需要在类声明中使用 abstract 关键字来声明一个抽象类。例如,下面的代码声明一个Shape类的抽象:publicabstr......
  • 数据库MySQL——从0到1入门教程
    Q:为什么需要MySQL?A:网络服务中,我们需要存储、管理大量的数据,并确保数据的安全、实现增删改查操作的高效,因此需要一个系统用来专门管理数据,以实现上述的高性能要求,数据库管理系统应需而生八股如下:数据持久性:数据库能够持久化存储数据,确保数据在系统关闭或崩溃后依然存在......