MySQL流程控制语句

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: MySQL流程控制语句

连接数据库

mysql -hlocalhost -uroot -proot

MySQL函数

函数:是指一段可以直接被另一段程序调用的程序或代码。
在MySQL中会有很多的内置函数,我们只需要使用就行;

常见的字符串函数

concat函数

select concat('hello','zhangsan');

返回的是:hellozhangsan

select lower('HELLo');

返回的是:hello

由于企业需求的变更,企业员工的工号统一为8位数,目前不足8位数的全部在前面补上0;

update person set workno = lpad(workno,8,'0')

常见的数值函数

select ceil(1.5); // 向上取整。1.5是2
select floor(1.9);// 向下取整。1
select mod(5,4); // 5除以4,取余数。是1
slect rand(); // 返回0-1之间的数
slect round(2.43,2);// 对2.43四舍五入,保留2位小数

小例子-通过SQL语句生成一个6位数的随机验证码.

select round(rand()*1000000,0);
上面这样写有问题,因为 slect rand()生成的是0-1,可能是0.053111这种的.
我们按照这样补0就不会出问题了。
select  lpad(round(rand()*1000000,0),6,'0');

日期函数

当前日期YYYY-MM-DD    select curdate();   返回的是 2023-08-07
当前的时分秒 hh:mm:ss  select curtime();   返回的是 19:52:11
当前的时间YYYY-MM-DD hh:mm:ss  select now(); 返回的是 2023-08-07 19:53:28
当前的年份YYYY       select year(now()); 返回的是2023
当前的月份M       select month(now()); 返回的是8 【当时是8月份】
当前的年份D       select day(now()); 返回的是7   【当时是8月7号】
select date_add(now(), interval 70 day); 当前时间加上70天后的时间  2023-10-16 19:59:24
select date_add(now(), interval 70 month); 当前时间加上70个月后的时间  2029-06-07 20:00:19
两个时间相差多少天   select datediff('2023-09-07', '2023-08-07') 输出31天 注意先是结束时间,后面是开始时间

小粒子--查询所有员工的入职天数,并根据入职天数倒序排序

select name, datediff(curdate(), ruzhikey) as 'ruzhitime' from person order by ruzhitime desc;
ps:别名在这里可以起到非常大的作用

流程函数

select if(true, 'ok', fail); // 返回的是 fail
select ifnull('ok','default'); 
// 如果第一个值不为null,返回第一个值,如果第一个值是null,返回第二个值
case when [val1] then [res1] ... else [default] end
如果val1为true,返回res1, 否者返回 default 默认值
需求描述:查询person表,员工姓名和工作地址,(如果是北京上线--显示一线城市, 其他显示二线城市)
select name (case workaddress when '北京' then '一线城市' when '上海' then '一线城市' else '二线城市' end) as '工作地点' from person;
需求:成绩>=85优秀; 成绩>= 60 及格;成绩>= 60 及格;
select id,name (case when chengji>=85 then '优秀' when chengji >= 60 then '及格' else '不及格' end) '成绩' from 'person'

遇见问题,这是你成长的机会,如果你能够解决,这就是收获。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
存储 关系型数据库 MySQL
[MySQL]流程控制语句
[MySQL]流程控制语句
25 1
[MySQL]流程控制语句
|
存储 SQL 关系型数据库
MySQL触发器里的流程控制语句 case when .. then else ... end;组合+继承;高级数据库复习
MySQL触发器里的流程控制语句 实际上就是if 与 if else 我们的流程控制语句可以在业务实现类实现判断 也可以通过数据库MySQL触发器来实现流程控制语句
186 0
MySQL触发器里的流程控制语句 case when .. then else ... end;组合+继承;高级数据库复习
|
关系型数据库 MySQL
mysql流程控制语句
mysql流程控制语句
59 0
|
2天前
|
存储 Oracle 关系型数据库
oracle 数据库 迁移 mysql数据库
将 Oracle 数据库迁移到 MySQL 是一项复杂的任务,因为这两种数据库管理系统具有不同的架构、语法和功能。
12 0
|
9天前
|
关系型数据库 MySQL Linux
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
|
9天前
|
SQL 关系型数据库 MySQL
【MySQL-5】DDL的数据库操作:查询&创建&删除&使用(可cv代码+演示图)
【MySQL-5】DDL的数据库操作:查询&创建&删除&使用(可cv代码+演示图)
|
9天前
|
SQL 关系型数据库 MySQL
【MySQL-1】理解关系型数据库&数据的数据模型
【MySQL-1】理解关系型数据库&数据的数据模型
|
10天前
|
关系型数据库 MySQL 数据库
Docker数据库Mysql
Docker数据库Mysql
|
11天前
|
存储 SQL 关系型数据库
mysql查询数据库表大小怎么操作
mysql查询数据库表大小怎么操作
|
11天前
|
关系型数据库 MySQL PHP
【PHP 开发专栏】PHP 连接 MySQL 数据库的方法
【4月更文挑战第30天】本文介绍了 PHP 连接 MySQL 的两种主要方法:mysqli 和 PDO 扩展,包括连接、查询和处理结果的基本步骤。还讨论了连接参数设置、常见问题及解决方法,如连接失败、权限和字符集问题。此外,提到了高级技巧如使用连接池和缓存连接信息以优化性能。最后,通过实际案例分析了在用户登录系统和数据管理中的应用。