MySQL基础语法之判断语句的学习&&如何将检索数据的返回值赋值给变量,以及如何查看变量

3月25日 条件函数

条件函数

select if(1<0,'正确','错误'); -- 1<0是条件,当条件正确后,则放回第一个值,正确,如果错误将返回第二个值错误
select ifnull(null,'hello world') -- 用于检测数据是否为空值,如果为空值,则返回hello world
-- 多个判断语句的组合
select case 
when 1>0   -- 1>0是条件
then '对的'  -- 如果上面的函数语句或判断式正确,则返回then后面对应的返回值
when 2>0
then '2确实大于0'  -- 同理从上到下执行
else '3>0'  -- else的做用就是保底,若前面的没有正确的,则会以else返回的值输出
end; -- end 收尾表示结束

​ 以上学习了条件判断函数,在MySQL检索数据,我们能否把数据的返回值赋值给某个制定的变量呢,当然可以,当我们学会了如何赋值后又可以做很多操作,是不是很有趣呢!!!

MySQL的赋值语法

-- 案例范文,提问:将男性和女性的人数分别统计出来
CREATE TABLE `user_submit` (
`id` int NOT NULL,
`device_id` int NOT NULL,
`profile` varchar(100) NOT NULL,
`blog_url` varchar(100) NOT NULL
);
INSERT INTO user_submit VALUES(1,2138,'180cm,75kg,27,male','http:/url/bisdgboy777');
INSERT INTO user_submit VALUES(1,3214,'165cm,45kg,26,female','http:/url/dkittycc');
INSERT INTO user_submit VALUES(1,6543,'178cm,65kg,25,male','http:/url/tigaer');
INSERT INTO user_submit VALUES(1,4321,'171cm,55kg,23,female','http:/url/uhsksd');
INSERT INTO user_submit VALUES(1,2131,'168cm,45kg,22,female','http:/url/sysdney');
select * from `user_submit`;

-- 方法一:赋值后运算
select @sum := 1 -- 这是一个简单的赋值,赋值后sum就等于1啦
select @sum  -- 这是查看变量的方法,此时返回值为1
-- @这个像一个铭牌,sum是写在铭牌上的名字,所以铭牌和名字都不能丢,:= 则是赋值符号
-- 平时当我们要做一些复杂的检索时并且需要用到函数的时候,则需要用用括号把建设的函数语句包裹起来
select @girl := (select count(id) from user_submit where profile like '%female')
-- 上面这个句子,是为了找到数据表第3列中包含female(女性)的人数
select @boy := (select count(id) from `user_sumbit`) - @girl; 
-- 上面这个句子,就是先在统计数据表中一共有多少人,然后再用总人数减去,女孩子的人生,即得男生的人生

-- 方法二: group by 的使用&&if函数的使用
select if(profile like '%female','女','男') as xb, -- as xb 则是把表头修改为xb
count(id) as number
from user_submit group by xb;  -- group by 是对搜索结果进行返回

-- 方法三: 字符串分割法
select substring_index(profile,',','-1')as gender,count(device_id) from user_submit
group by gender;
-- 数据表第3列的数据如下形式180cm,75kg,27,male是由逗号分割的,所以(profile,',','-1')就是以逗号分割为依据,然后锁定最后一个字符串male,然后实现区分男女后统计人数

加密函数

select md5('123456') -- md5 这个函数加密是不可逆反的过程

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-01 02:12:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-01 02:12:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-01 02:12:04       87 阅读
  4. Python语言-面向对象

    2024-04-01 02:12:04       96 阅读

热门阅读

  1. 2024.3.30力扣刷题记录-二叉树学习记录2(未完)

    2024-04-01 02:12:04       43 阅读
  2. 《中华遗宝之王莽藏金之谜》

    2024-04-01 02:12:04       39 阅读
  3. chatui工具使用记录与比较

    2024-04-01 02:12:04       43 阅读
  4. python装饰器的使用

    2024-04-01 02:12:04       38 阅读
  5. COMP2017 9017

    2024-04-01 02:12:04       29 阅读
  6. [TS面试]TS中如何设计Class声明

    2024-04-01 02:12:04       38 阅读
  7. 算法练习----力扣每日一题------3

    2024-04-01 02:12:04       40 阅读
  8. 数据集视频编码(自用)

    2024-04-01 02:12:04       40 阅读
  9. 对 CSS Sprites(精灵图) 的理解

    2024-04-01 02:12:04       38 阅读
  10. v-for 中的模板引用

    2024-04-01 02:12:04       44 阅读