mysql顺序结构_MySQL基础_流程控制结构

一. 顺序结构

顺序结构:程序从上往下依次执行。

二. 分支结构

分支结构:程序按条件进行选择执行,从两条或多条路径中选择一条执行。

1. if语句

/*

语法:if(条件,表达式1,表达式2);

功能:实现简单双分支,如果条件为真,则返回表达式1的值,否则返回表达式2(类似于C语言的三元运算符)

特点:可以用在任何位置。

*/

#示例:查询学生表中张三的成绩是否合格,如果大于60分,则输出成绩合格,否则输出成绩不合格。

SELECT score INTO @score

FROM students

WHERE NAME='张三';

SELECT IF(@score>60,'成绩合格','成绩不合格');

2. case语句

/*

语法:

✳情况一:类似于C语言中的switch,一般用于实现等值判断

case 表达式

when 值1 then 结果1或语句1(如果是语句,需要加分号)

when 值2 then 结果2或语句2(如果是语句,需要加分号)

...

else 结果n或语句n(如果是语句,需要加分号)

end 【case】(如果是放在begin end中需要加上case,如果放在select后面不需要)

✳情况二:类似于C语言中的多重if,一般用于实现区间判断

case

when 条件1 then 结果1或语句1(如果是语句,需要加分号)

when 条件2 then 结果2或语句2(如果是语句,需要加分号)

...

else 结果n或语句n(如果是语句,需要加分号)

end 【case】(如果是放在begin end中需要加上case,如果放在select后面不需要)

功能:实现多重分支。

特点:可以用在任何位置

*/

#示例:查询学生表中李四的成绩等级,90~100输出优秀,80~90输出良好,60~80输出及格,0~60输出不及格,其他显示成绩错误。

select score into @score1

from students

where name='李四';

select

case

when @score1>100 or @score1<0 then '成绩错误'

when @score1>=90 then '优秀'

when @score1>=80 then '良好'

when @score1>=60 then '及格'

else '不及格'

end as 成绩等级;

3. if elseif语句

/*

语法:

if 情况1 then 语句1;

elseif 情况2 then 语句2;

...

else 语句n;

end if;

功能:实现多重分支

特点:只能用在begin end中!!!!!!!!!!!!!!!

*/

#示例:创建一个函数,输入学生姓名,返回学生的分数等级。

delimiter //

create function score_grade(name varchar(20)) returns varchar(20)

begin

declare stu_score int;

select s.score into stu_score

from students s

where s.name=name;

if stu_score>100 or stu_score<0 then return '成绩错误';

elseif stu_score>=90 then return '优秀';

elseif stu_score>=80 then return '良好';

elseif stu_score>=60 then return '及格';

else return '不及格';

end if;

end //

delimiter ;

select score_grade('张三');

三. 循环结构

循环结构:程序满足一定条件下,重复执行一组语句。

/*

循环结构:

语法:

1)while(重点)✳

【标签:】WHILE 循环条件 DO

循环体

END WHILE 【标签】;

2)loop

【标签:】loop

循环体

end loop 【标签】;

3)repeat

【标签:】repeat

循环体

until 结束条件

end repeat 【标签】;

特点:

①只能放在begin end中;

②loop 一般用于实现简单的死循环

while 先判断后执行

repeat 先执行后判断,无条件至少执行一次

③如果使用循环控制语句,需要使用标签,否则可以不用标签。

循环控制语句:

leave:类似于break,用于跳出当前所在的循环

iterate:类似于continue,用于结束本次循环,继续下一次

*/

#示例:创建一个函数,当输入一个大于1的整数num时,函数返回1+2+3+...+num的值

delimiter //

create function num_sum(num int) returns int

begin

declare i int default 0;

declare sum int default 0;

while i<=num

do

set sum=sum+i;

set i=i+1;

end while;

return sum;

end //

delimiter ;

select num_sum(10);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,以下是一些面向高级 Java 工程师的 MySQL 填空题: 1. 在 MySQL 中,__数据库__ 是用于存储和管理数据的容器。 2. 在 MySQL 中,__表__ 是由一组具有相同结构的记录组成的数据集合。 3. 在 MySQL 中,__字段__ 是表中的一个列,用于存储特定类型的数据。 4. 在 MySQL 中,__主键__ 是用于唯一标识表中每个记录的字段或字段组合。 5. 在 MySQL 中,__外键__ 是用于建立表与表之间关系的字段,引用了其他表的主键。 6. 在 MySQL 中,__索引__ 是一种数据结构,用于加快数据检索操作的速度。 7. 在 MySQL 中,__事务__ 是由一个或多个操作组成的逻辑工作单元,要么全部执行成功,要么全部回滚。 8. 在 MySQL 中,__ACID__ 是指原子性、一致性、隔离性和持久性,用于描述事务的特性。 9. 在 MySQL 中,__存储过程__ 是一种预定义在数据库中的可重复使用的代码块。 10. 在 MySQL 中,__触发器__ 是一种特殊类型的存储过程,可以在表上的插入、更新或删除操作发生时自动执行。 11. 在 MySQL 中,__视图__ 是由一个或多个表的行和列组成的虚拟表,可以简化复杂的查询操作。 12. 在 MySQL 中,__游标__ 是用于按照一定顺序遍历结果集的数据库对象。 13. 在 MySQL 中,__连接__ 是通过某些条件将多个表中的数据关联起来的操作。 14. 在 MySQL 中,__子查询__ 是一个嵌套在其他查询语句中的查询语句。 15. 在 MySQL 中,__范式__ 是一种用于设计关系型数据库的规范化方法,包括第一范式、第二范式等。 16. 在 MySQL 中,__反范式__ 是一种通过冗余数据来提高查询性能的方法。 17. 在 MySQL 中,__存储引擎__ 是用于存储和检索数据的底层软件组件。 18. 在 MySQL 中,__InnoDB__ 是一个常用的支持事务和行级锁定的存储引擎。 19. 在 MySQL 中,__MyISAM__ 是一个常用的不支持事务但具有较高性能的存储引擎。 20. 在 MySQL 中,__备份与恢复__ 是一种用于保护数据库数据的重要手段,可以防止数据丢失。 21. 在 MySQL 中,__慢查询日志__ 是一种记录执行时间超过阈值的查询语句的日志。 22. 在 MySQL 中,__锁__ 是一种用于控制并发访问数据库的机制。 23. 在 MySQL 中,__主从复制__ 是一种将主数据库的更改复制到一个或多个从数据库的机制。 24. 在 MySQL 中,__分区__ 是一种将大表拆分为多个小表的技术,可以提高查询性能。 25. 在 MySQL 中,__分布式数据库__ 是一种将数据分布在多个物理节点上的数据库系统。 26. 在 MySQL 中,__批量插入__ 是一种将多条记录同时插入数据库的方法,可以提高插入性能。 27. 在 MySQL 中,__字符集__ 是一种用于存储和处理字符串数据的编码方式。 28. 在 MySQL 中,__连接池__ 是一种用于管理数据库连接的技术,可以提高性能和资源利用率。 29. 在 MySQL 中,__数据库优化器__ 是一种用于选择最优执行计划的组件。 30. 在 MySQL 中,__查询优化__ 是一种通过调整数据库结构、索引设计、查询重写等方式来提高查询性能的方法。 31. 在 MySQL 中,__复制__ 是一种将数据从一个数据库实例复制到另一个数据库实例的机制。 32. 在 MySQL 中,__分布式事务__ 是一种在多个数据库实例上保持一致性的事务处理方式。 33. 在 MySQL 中,__数据备份__ 是一种用于保护数据免受意外删除或损坏的手段。 34. 在 MySQL 中,__数据恢复__ 是一种通过备份或日志来还原数据库到某个时间点的操作。 35. 在 MySQL 中,__索引优化__ 是一种通过评估和优化索引来提高查询性能的方法。 36. 在 MySQL 中,__查询缓存__ 是一种缓存查询结果的机制,可以提高查询性能。 37. 在 MySQL 中,__并发控制__ 是一种用于处理多个并发事务的机制,保证数据一致性。 38. 在 MySQL 中,__存储过程调优__ 是一种通过优化存储过程代码来提高性能的方法。 39. 在 MySQL 中,__数据库分片__ 是一种将数据分散存储在多个物理节点上的技术,可以提高可扩展性。 40. 在 MySQL 中,__连接优化__ 是一种通过合理设计和使用连接来提高查询性能的方法。 41. 在 MySQL 中,__数据库安全__ 是一种保护数据库免受未经授权访问、数据泄露等威胁的措施。 42. 在 MySQL 中,__数据库监控__ 是一种实时监视数据库性能和活动的技术。 43. 在 MySQL 中,__查询分析器__ 是一种用于分析查询执行计划和性能瓶颈的工具。 44. 在 MySQL 中,__数据库版本控制__ 是一种用于管理数据库结构和数据变更的技术。 45. 在 MySQL 中,__外部键约束__ 是一种用于维护表之间关系完整性的机制。 46. 在 MySQL 中,__数据库压测__ 是一种通过模拟大量用户并发访问来评估数据库性能的方法。 47. 在 MySQL 中,__数据库分析__ 是一种通过分析数据来获得有关业务和性能的洞察的技术。 48. 在 MySQL 中,__数据库迁移__ 是一种将数据从一个数据库平台迁移到另一个数据库平台的过程。 49. 在 MySQL 中,__数据库优化__ 是一种通过调整数据库配置和参数来提高性能的方法。 50. 在 MySQL 中,__数据库设计__ 是一种通过合理设计表结构和关系来满足业务需求的方法。 这些题目较为复杂,需要对 MySQL 的各个方面有一定的了解,并且对高级概念有所了解。希望能帮到你!如果你还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值